Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ООП 
:(
    Опции темы
Guedda
Дата 28.12.2005, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Закрытые переменные - это переменные, которые доступны только внутри описания компонент-функции. Пишутся после слова private:


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Демо
Дата 28.12.2005, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Цитата(Zero @ 28.12.2005, 14:47)
Открытые переменные ─ это переменные которые доступны, не только в нутри описания компонент-функции, но а также и других местах. Пишутся после ключевого слова public:


Вряд ли;)

В секции private находятся поля и методы класса, доступные только внутри модуля, в котором объявлен класс.

В секции protect находятся поля и методы класса, доступные всем классам-наследникам в других модулях.

В секции public находятся поля и методы класса, доступные во всех модулях.

В секции published находятся поля и методы класса, доступные во всех модулях и для редактирования в режиме Design-Time в оболочке Delphi.
Добавлено @ 14:37
Цитата(Zero @ 28.12.2005, 14:47)
Открытые переменные


Цитата(Guedda @ 28.12.2005, 15:21)
Закрытые переменные


Не могли бы вы привести английский аналог этих терминов, чтобы можно было найти их в справке Delphi?


--------------------
    
PM MAIL ICQ Skype   Вверх
Guedda
Дата 28.12.2005, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



private - с английского означает частный, скрытый


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Zero
Дата 28.12.2005, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Цитата
Вряд ли;)

Я сказал, своими словами, то что ты потом написал, из учебника или т.п.
Цитата
Добавлено @ 15:37
Цитата (Zero @ 28.12.2005, 14:47)
Открытые переменные

Цитата (Guedda @ 28.12.2005, 15:21)
Закрытые переменные

Не могли бы вы привести английский аналог этих терминов, чтобы можно было найти их в справке Delphi?

Ты их сам уже привёл:
Цитата
public


Цитата
private


PM MAIL ICQ   Вверх
koder
Дата 30.12.2005, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 30.4.2005
Где: Moscow

Репутация: нет
Всего: 2



Демо прав нет понятия открытые переменные, нету open variables в природе..
--------------------
THE TRUTH IS OUT THERE
PM WWW ICQ   Вверх
Guedda
Дата 30.12.2005, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Ну тогда ответьте на вопрос:
Можно ли из другого юнита вытащить переменную, которую организовали в секции private в другом модуле?

Как это действо назвать?


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
koder
Дата 30.12.2005, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 30.4.2005
Где: Moscow

Репутация: нет
Всего: 2



Цитата(Guedda @ 30.12.2005, 22:28)
Ну тогда ответьте на вопрос:
Можно ли из другого юнита вытащить переменную, которую организовали в секции private в другом модуле?

Как это действо назвать?

Можно только через свойства..Действо называется применения свойств.
--------------------
THE TRUTH IS OUT THERE
PM WWW ICQ   Вверх
Guedda
Дата 30.12.2005, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Интересно... Новые горизонты открыты...
Если я в модуле Unit1.pas напишу что-то типа:
Код

TForm1 = class(TForm)
private
  i : Integer;
...
var
  Form1 : TForm1;

Потом в модуле Unit2.pas сделаю:
Код

... 
uses
  Unit1;
...

var
  Uni : Integer;
begin
  Uni := Form1.i; 
end;

то все будет работать? Что за нонсенс...
Дай, пожалуйста вразумительный ответ...

Это сообщение отредактировал(а) Guedda - 30.12.2005, 22:39


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Демо
Дата 31.12.2005, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Цитата(Guedda @ 30.12.2005, 23:38)
то все будет работать? Что за нонсенс...
Дай, пожалуйста вразумительный ответ...



Нет, не будет. Потому что поле i скрыто.
Но будет вот так:

Код

  TForm1 = class(TForm)    
  private    
     i : Integer;    
  public
     property Counter: Integer read i write i;
  ...    
var    
  Form1 : TForm1;


Код
Uni := Form1.Counter; 


Для того и помещаются поля в секцию private, чтобы не допустить прямого доступа к ним.


--------------------
    
PM MAIL ICQ Skype   Вверх
koder
Дата 31.12.2005, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 30.4.2005
Где: Moscow

Репутация: нет
Всего: 2



Цитата(Guedda @ 30.12.2005, 22:38)
Интересно... Новые горизонты открыты...


Я тебе эти горизонты не открывал, вышенаписанных моих постах ни где не упоминается об том, что ты написал.. smile

Это сообщение отредактировал(а) koder - 31.12.2005, 16:45
--------------------
THE TRUTH IS OUT THERE
PM WWW ICQ   Вверх
Guedda
Дата 31.12.2005, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Ну ничего. Ладно. smile
Цитата

Для того и помещаются поля в секцию private, чтобы не допустить прямого доступа к ним.

А это ли не означает, что они закрытые?
Если у тебя в какой либо дом нет прямого доступа, то дом закрыт! smile
Так и в этом вопросе. Чисто по человечески если рассудить...


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Демо
Дата 31.12.2005, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Цитата(Guedda @ 31.12.2005, 17:30)
А это ли не означает, что они закрытые?
Если у тебя в какой либо дом нет прямого доступа, то дом закрыт! 
Так и в этом вопросе. Чисто по человечески если рассудить...


Нет, это не означает, что они открыте.
При использовании понятий языка программировнания следует придерживаться строгой терминологии, как и в любых науках, иначе понять друг друга будет невозможно.

В Delphi существует понятие "открытый массив параметров", что, естественно, никаким образом не связано с нашей темой.

Понятия "открытых и закрытых" переменных в Delphi не существует. Строгость языка не допускает расширительного толкования, как в разговорной речи. Поэтому для того, чтобы тебя поняли, необходимо использовать соответствующие термины, как то - public-поле, private-поле, либо, соответственно - общее поле и частное поле класса.


--------------------
    
PM MAIL ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0882 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.