Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
10 / 10 / 2
Регистрация: 12.04.2011
Сообщений: 323

Создание приватных переменных в конструкторе

05.08.2013, 13:39. Показов 1759. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Собственно по теме вопрос.
В следующем варианте все хорошо переменная р приватная
PHP
1
2
3
4
5
6
class alala {
    private $p;
    public function __construct($p) {
        $this->p = $p;
    }
}
но мне не охото задавать эту переменную в начале и хочу чтобы было так
PHP
1
2
3
4
5
class alala {
    public function __construct($p) {
        $this->p = $p;
    }
}
Но тогда к этой переменной можно достучаться из вне, можно сделать ее из конструктора сразу приватной?

Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.08.2013, 13:39
Ответы с готовыми решениями:

Объявление переменных в конструкторе MainWindow
Здравствуйте, я новичек, поэтому могу задавать нереально глупые вопросы, простите плиз! Имеется: mainwindow.h #ifndef...

ООП(зачем нужна инициализация переменных в конструкторе Box)
package pkg1; public class Main { public static void main(String args) { BoxWeight hhh = new BoxWeight(10,20,30,40); ...

Создание потока в конструкторе
После запуска в textedit ничего не нет, а в консоле запись: QThread: Destroyed while thread is still running //спустя несколько секунд ...

2
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
05.08.2013, 15:08
Цитата Сообщение от furyon Посмотреть сообщение
мне не охото задавать эту переменную в начале
Плохая идея. Ибо в итоге никто, кроме Вас, не знает, какими свойствами обладает объект. Через месяц/год - и Вы тоже уже не знаете.
Цитата Сообщение от furyon Посмотреть сообщение
можно сделать ее из конструктора сразу приватной?
Нельзя, насколько мне известно.

Представьте, покупаете Вы коробку гвоздей. Дома открываете - а там шурупы. Где об этом было написано? Нигде - они [гвозди] сами себя трансформировали. Бред же. Написано "гвозди", значит там должны быть гвозди.
Не делайте сабж никогда.
2
0 / 0 / 0
Регистрация: 30.07.2013
Сообщений: 5
05.08.2013, 20:01
Можно, но это плохая практика. Сами потом в своем же коде не разберетесь. Не зря же придумали объявление свойств в начале класса.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.08.2013, 20:01
Помогаю со студенческими работами здесь

Создание TableAdapter в конструкторе
Суть задачи создать отчет по SQl запросу, для вывода отчета использую FastReport. Для этого я создал в конструкторе набора данных...

Создание отчета в конструкторе
Подскажите пожалуйста как сделать отчет при помощи конструктора, а то у меня криво получается.

Создание массивов в конструкторе
Вот мой пример, но не пойму что здесь не так... public class Trigers { Trigers(int size){ intRG1=new int; intRG2=new int; ...

Создание переменных новых переменных в процессе работы программы
Как создать переменные в процессе работы программы. И желательно по такому коду: program a8; var n,c,c1,p,n1,n2,n3:integer; ...

Оператор new, как отменить создание объекта в конструкторе?
class A { public: A() { //cancel code ? }; }


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru