Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Экземпляр класса
twin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 16113
Пользователь №: 6543
На форуме: 8 лет, 8 месяцев, 22 дня
Карма: 303

Трезвый :
6 лет, 6 месяцев, 1 день


Немного побуяню опять по поводу ООП.

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

Это же совершенно не отражает суть объекта. Какой же это экземпляр... Идем в википедию и смотрим:
Цитата
Экземпляр (нем. Ехеmplar ← лат. ехеmplar — образец, пример) — отдельный предмет из множества таких же предметов; образец, особь.
И тут же противоречие:
Цитата
Экземпляр класса — в объектно-ориентированном программировании, описание конкретного объекта в памяти.


Объект, это вовсе никакой не экземпляр. Это просто тип данных, ни больше, ни меньше. В нем нет методов, а значит он не может быть "отдельным предметом из множества таких же". Другими словами он вовсе не повторяет класс.

Как вы думаете?


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Oyeme  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Reality is wrong. Dreams are for real
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1723
Пользователь №: 16955
На форуме: 8 лет, 4 месяца, 2 дня
Карма: 96




Цитата
Объект, это вовсе никакой не экземпляр. Это просто тип данных, ни больше, ни меньше. В нем нет методов, а значит он не может быть "отдельным предметом из множества таких же". Другими словами он вовсе не повторяет класс.


Экземпляр это "уникальная копия" класса которая предостовляет собой объект.
Виртуальная копия класса (не реальная копиа объекта)
Объект предостовляет собой два состояния "state and behavior."

Например у "людей" это возраст,имя и состояние "бегать,прыгать"

Обьект так же может быть назван "экземпляром" класса

Class >> Object >> Instance.

Я думаю что проблема в том что Вы пытаетесь перевести уж конкретно все на русский язык,но в ИТ совсем другие определения .

https://ru.wikipedia.org/wiki/%D0%9A%D0%BB%...BD%D0%B8%D0%B5)



--------------------
Programming: Private lessons via skype £45/h

Частные уроки в Лондоне / удаленно по skype.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Oyeme  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Reality is wrong. Dreams are for real
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1723
Пользователь №: 16955
На форуме: 8 лет, 4 месяца, 2 дня
Карма: 96




https://en.oxforddictionaries.com/definition/instance

От куда пошло понятие и применение
Origin
Цитата
Middle English: via Old French from Latin instantia ‘presence, urgency’, from instare ‘be present, press upon’, from in- ‘upon’ + stare ‘to stand’. The original sense was ‘urgency, urgent entreaty’, surviving in at the instance of. In the late 16th century the word denoted a particular case cited to disprove a general assertion, derived from medieval Latin instantia ‘example to the contrary’ (translating Greek enstasis ‘objection’); hence the meaning ‘single occurrence’.


--------------------
Programming: Private lessons via skype £45/h

Частные уроки в Лондоне / удаленно по skype.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 16113
Пользователь №: 6543
На форуме: 8 лет, 8 месяцев, 22 дня
Карма: 303

Трезвый :
6 лет, 6 месяцев, 1 день


Цитата (Oyeme @ 13.04.2017 - 09:03)
Экземпляр это "уникальная копия" класса
Вот и ты не понимаешь сути. Как вам это вбили в голову...

Нет у объекта никакого состояния. Если говорить, что объект, это экземпляр класса, то тогда нужно говорить - флешка, это экземпляр компьютера. Согласись, как то не то.

Давай возьмем объект. Сериализуем его. Запишем в файл. Унесем в другое приложение, где нет этого класса. И попробуем запустить. Где состояние? Где методы "бегать,прыгать"?

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

Цитата
От куда пошло понятие и применение
Вот это другое дело. Я, кстати, к instance претензий не предъявлял. smile.gif Это наши криворукие ООПэшники напереводили. instance как экземпляр, extends как наследование... Сами нихрена не понимают толк в процессах, а пишут учебники. smile.gif


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Oyeme  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Reality is wrong. Dreams are for real
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1723
Пользователь №: 16955
На форуме: 8 лет, 4 месяца, 2 дня
Карма: 96




Цитата
Давай возьмем объект. Сериализуем его. Запишем в файл. Унесем в другое приложение, где нет этого класса. И попробуем запустить. Где состояние? Где методы "бегать,прыгать"?


В чем суть примера? Некорректный пример ,таким образом объект уже не хранится в памяти.Нет никакого объекта больше

Цитата
Если говорить, что объект, это экземпляр класса, то тогда нужно говорить - флешка, это экземпляр компьютера.


Есть "Объект" ,Объект имеет возраст и умеет прыгать,объекту присваивается имя "human" что является классом,которы уже з.При создание нового объекта происходит создания новое экземпляра класса

$humanOne = new Human();
$humanTwo= new Human();

Создаем два экземпляра класса Human.Два специфических объекта в данном примере.


Пример с флэшкой и компьютером вообще не в тему.Это совсем разные обьекты.


--------------------
Programming: Private lessons via skype £45/h

Частные уроки в Лондоне / удаленно по skype.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 16113
Пользователь №: 6543
На форуме: 8 лет, 8 месяцев, 22 дня
Карма: 303

Трезвый :
6 лет, 6 месяцев, 1 день


Цитата (Oyeme @ 13.04.2017 - 09:31)
В чем суть примера? Некорректный пример ,таким образом объект уже не хранится в памяти.Нет никакого объекта больше
Здрасти, приехали. В памяти нет, а в файле есть.

Вот, специально для тебя, коль не веришь:
class Example
{
public $run;

public function run()
{
$this->run = 'Побежали!';
}
}


$obj = unserialize('O:7:"Example":1:{s:3:"run";s:17:"Побежали!";}');
echo $obj->run;

В памяти нифига нет, не создается объект тут. И метод run() не вызывается. Объект просто формируется из строки. И все работает. Убери класс, что получится?

Вот я возьму эту строку. Запишу в файл. Пойду на другой комп, прочитаю, рассериализую и попробую запустить. Если класса нет, запустится?

Цитата (Oyeme @ 13.04.2017 - 09:31)
Пример с флэшкой и компьютером вообще не в тему.Это совсем разные обьекты.
Очень в тему. Точно так же я создам документ в Ворде, запишу его на флэшку, пойду к товарищу, а у него нет ворда. :(

Вот вы говорите - объект, это экземпляр класса. Ну тогда нужно говорить: файл .doc, это экземпляр ворда, а флэшка это экземпляр компьютера.

Экземпляр, это подобный предмет. Идентичный. Если это человек, то у экземпляра должны быть руки, ноги и, как минимум, голова. А мне пытаются объяснить, что фотография, это экземпляр человека. Да, там есть и руки и ноги. Но шевелить она ими не может. :)


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2371
Пользователь №: 27172
На форуме: 6 лет, 2 месяца, 24 дня
Карма: 76




twin
А как надо? Представитель класса?


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 16113
Пользователь №: 6543
На форуме: 8 лет, 8 месяцев, 22 дня
Карма: 303

Трезвый :
6 лет, 6 месяцев, 1 день


Я не знаю как надо. Но я точно знаю, что так не надо. Это не придирка к словам. Это исковеркана сама суть. А когда суть исковеркана, неверно истолковываются процессы. Соответственно можно допустить логическую ошибку.

Мне и объект то слово не совсем нравится. Но не буду занудой. Привыкли и ладно.

А вот экземпляр, это в корне неверно. Допустим смотри. Вот код:
class Example
{
public $run;
public static $dog = 'Собака';

public function run()
{
$this->run = self::$dog .' побежала';
}
}


$obj = new Example;
$obj->run();
echo $obj->run;


Тут адская смесь статики и объекта. Если не понимаешь сути, то трудно понять, почему это работает. Еще труднее объяснить. С какого перепуга объект видит self? Это же отдельный экземпляр! Он сам по себе, как Oyeme говорит. Самодостаточный.
Цитата (Oyeme @ 13.04.2017 - 09:31)
При создание нового объекта происходит создания новое экземпляра класса
Другими словами создали объект, значит скопировали класс, раз это экземпляр.

Ан нет. Объект просто управляет классом. И заполняет его данными на момент вычислений. А сам класс один. Как компютер. Флэшек (объектов) может быть много, а компьютер (класс) один. Потому объект и "видит" свойство класса.

Когда кому то объясняешь снуля, это просто. А если неверное толкование уже забито в башку, как гвоздь на 120, то очень сложно переубедить. :(

А как нужно... Ну как минимум не использовать это неверное определение. Наверное больше подошло бы слово "контроллер". Ну или что-то в этом роде.

Кстати, русское "инстанция" (от английского instance) никогда не подразумевало "экземпляр". По Ожегову
Цитата
Одна из ступеней в системе подчиненных друг другу органов
Ступень, часть. Причем в системе. Причем подчиненных. А никак не самодостаточный экземпляр.

Вот оно бы тоже подошло наверное.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
SlavaFr  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Журнал
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1558
Пользователь №: 22453
На форуме: 7 лет, 24 дня
Карма: 105




Цитата (Arh @ 13.04.2017 - 10:42)
twin
А как надо? Представитель класса?

"Представитель класса" подходит гораздо лучше, так как объект действительно не является в моём понимание "экземпляром класса".
Я думаю правильно это "Инстанция класса Х" или "Объект типа Х".
Екземпляр класса мне тоже не совсем понятен, так как класс это по сути "Чертёж" по которому работает созданный "Объект". Экземпляр класса, для меня звучит тоже как "экземпляр чертежа", что не совподает с применением этого понятия к созданному Объекту.

Скорей всего понятие "Экземпляр класса" действительно является "жертвой неправильного перевода" smile.gif


--------------------
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 16113
Пользователь №: 6543
На форуме: 8 лет, 8 месяцев, 22 дня
Карма: 303

Трезвый :
6 лет, 6 месяцев, 1 день


Цитата (SlavaFr @ 13.04.2017 - 11:22)
Екземпляр класса мне тоже не совсем понятен, так как класс это по сути "Чертёж" по которому работает созданный "Объект".
Только наоборот. Объект, это чертеж, по которому класс "изготавливает" результат. Объект управляет классом, а не наоборот. smile.gif


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 16113
Пользователь №: 6543
На форуме: 8 лет, 8 месяцев, 22 дня
Карма: 303

Трезвый :
6 лет, 6 месяцев, 1 день


Диспетчер больше всего подходит помоему. smile.gif


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15383
Пользователь №: 4190
На форуме: 9 лет, 4 месяца, 20 дней
Карма: 470




Цитата (twin @ 13.04.2017 - 12:41)
Цитата
Экземпляр (нем. Ехеmplar ← лат. ехеmplar — образец, пример) — отдельный предмет из множества таких же предметов; образец, особь.
И тут же противоречие:
Цитата
Экземпляр класса — в объектно-ориентированном программировании, описание конкретного объекта в памяти.

Объект, это вовсе никакой не экземпляр. Это просто тип данных, ни больше, ни меньше. В нем нет методов, а значит он не может быть "отдельным предметом из множества таких же". Другими словами он вовсе не повторяет класс.

Не вижу противоречия.

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

Ну например, ты решил испечь печенюшки. И у тебя есть форма для нарезания теста. Допустим, в виде рыбки smile.gif Форма - это класс. А те рыбки, что ты наделаешь этой формой из раскатанного теста - экземпляры класса. Ты в каждую рыбку потыкаешь вилкой, сделаешь в ней углубления, которые будут уникальные для каждой рыбки (или посыпешь сверху чем-нибудь) - ОК, ты их кастомизировал. При этом форма (класс) находится на столе, а рыбок (экземпляры класса) ты засунул в печку (поместил объекты/экземпляры в память). Где противоречие?


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2371
Пользователь №: 27172
На форуме: 6 лет, 2 месяца, 24 дня
Карма: 76




Кажись вы путаете реальность с виртуальностью.
В реальности нельзя клонировать, а тут бац и ещё один экземпляр)
Походу так назвали не по принципу как оно работает, а по принципе как оно должно использоваться.


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 16113
Пользователь №: 6543
На форуме: 8 лет, 8 месяцев, 22 дня
Карма: 303

Трезвый :
6 лет, 6 месяцев, 1 день


sergeiss
Вот видишь. И у тебя гвоздь в голове. Класс, это не матрица. И ничего он не штампует. По крайней мере объект, это не подобие класса. Объект больше похож на массив, нежели на класс.

Класс, это программа. Она формируется в момент компиляции. Ну или интерпретации, если точнее. Организуются стеки, связи, указатели и прачая. Это похоже не на матрицу, а на станок. С кучей механизмов, шестеренок, электроники и прочего дерьма. Которое к производимой продукции не имеет отношения. А объект, это просто данные. Посмотри var_dump() любого объекта. Ты не увидишь там ни одного метода, тлько свойства. Или на сериализацию посмотри внимательно.
'O:7:"Example":1:{s:3:"run";s:17:"Побежали!";}'
Есть принадлежность к классу, и есть данные. Всё.

Если совсем провести аналогию, класс, это станок, изготавливающий пульты управления этим же станком. Вот пульт - это объект. У него может быть собственная память и кнопки, которыми этот станок управляется. Пультов может быть много, станок один.

Но пульт, это не экземпляр станка. Он не может работать самостоятельно. Он может только хранить результат и управлять станком. Без станка он совершенно бесполезен.

Вот если бы станок делал себеподобные станки, тогда можно было бы говорить, что это экземпляры. Но шестеренок в пульте нет. Как и методов в объекте.

Так что это нонсенс, когда говорят "экземпляр класса". Это рождает вот такие неверные ассоциации, как у тебя. :)


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15383
Пользователь №: 4190
На форуме: 9 лет, 4 месяца, 20 дней
Карма: 470




Цитата (twin @ 13.04.2017 - 18:48)
sergeiss
Вот видишь. И у тебя гвоздь в голове.

Не, у меня в голове как раз всё нормально smile.gif И ассоциации у меня достаточно правильные. Прочитай еще раз, что я написал про подготовку теста для выпечки печенья и форму.

А вот твоё сравнение пульта и станка - это как раз путаница у тебя в голове. Серьёзно говорю. Ты сравниваешь совершенно разные вещи, поэтому у тебя и путаница в понимании. В твоем примере "классом" является не пульт, а программа, по которой работает станок и где заложено всё его устройство и как его сделать. Сам же станок, сделанный на выходе, является "экземпляром класса".

ПыСы. Хорошо, давай еще другой пример приведу. Вот у тебя есть печать. Которую ты можешь "окунуть" в чернила и сделать оттиск на документе. Что есть "класс", а что есть "экземпляр" в данном случае? "Класс" тут собственно печать, причем не вся, а только рабочая поверхность. Когда ты шмякнул печатью по документу, то получаешь оттиска печати. Который полностью повторяет то, что там было сделано на поверхности печати. При этом физически печать и оттиск вообще разные вещи! Печать - физический объект из резины/силикона, оттиск - чернила на поверхности бумаги. Но взаимосвязь между ними однозначная.

Также и в программировании...

Это сообщение отредактировал sergeiss - 13.04.2017 - 19:16


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса