Всем привет, начал изучать actionscript 3.0 и столкнулся с одной путаницей
а именно
экземпляр класса и объект это разные вещи? ? иногда пишут объект класса, как понимать что такое экземпляр класса: ? что такое объект? как понять значение класс?
напишу то как думаю я :
Объект это например мы создаем приложение про строительство . дом это объект, класс это строительство, а екземпляр класса дверь или например правая стена дома?... помогите пожалуйста
Другие языки программирования и технологии
Экземпляра класса, объекты
Похоже на попытку разобраться с классами, не читая ни одного определения класса, ни в учебнике, ни в учебном примере. Отсюда и перлы))).
для примера "класс млекопитающие"
какой-то конкретный представитель этого класса будет "экземпляром" этого класса. так что экземпляр класса это не часть класса (или объекта)
ну а объект -- любой экземпляр класса будет считаться объектом, или говоря проще любой класс есть объект.. .
объект в ОПП противопоставляется примитивам. вот и вся песня.
какой-то конкретный представитель этого класса будет "экземпляром" этого класса. так что экземпляр класса это не часть класса (или объекта)
ну а объект -- любой экземпляр класса будет считаться объектом, или говоря проще любой класс есть объект.. .
объект в ОПП противопоставляется примитивам. вот и вся песня.
Мудрецы блин) ) В двух словах: экземпляр класса = объект класса.
В ООП на классах (есть еще на прототипах, кстати тоже присутствует в ActionScript) есть две основные сущности, это объект (он же экземпляр класса) и сам класс.
Если брать аналогию с домом:
План дома - это класс, в реальности он не существует и жить вы в нем явно не можете.
Строительство - это создание дома по плану. Создание объектов: var a = new House(); //Строим дом по плану House
Дом - сделан изначально согласно плану. Что есть на плане, то уже есть и в доме, и в нем можно жить и даже обтавлять его мебелью, изменять, снести и т. п. Он уже существует. Можно построить много домов, используя один план и каждый будет независим от другого.
Можно сказать непосредственно класс не участвует в программе, он лишь описывает какими свойствами будут обладать созданные на его основе объекты. А вот объекты на основе класса, это и есть реальные сущности с которыми вы работаете в коде, указывая класс только после слова new.
И еще насчет терминологии:
Переменная, которая принадлежит объекту, называется еще полем.
Функция, которая принадлежит объекту, называется еще методом.
Больше объект ничего не содержит (поля + методы) , поэтому в доме дверь, окно, правая стена, пол - это будут поля объекта, а действия проветрить, переместить, снести, отремонтировать будут его методами.
P.S. Наследование - мы берем копию готового плана дома и дорисовываем или стираем нужные нам вещи. Получаем новый план, при этом часть его уже была нарисована и не пришлось заново все рисовать))
В ООП на классах (есть еще на прототипах, кстати тоже присутствует в ActionScript) есть две основные сущности, это объект (он же экземпляр класса) и сам класс.
Если брать аналогию с домом:
План дома - это класс, в реальности он не существует и жить вы в нем явно не можете.
Строительство - это создание дома по плану. Создание объектов: var a = new House(); //Строим дом по плану House
Дом - сделан изначально согласно плану. Что есть на плане, то уже есть и в доме, и в нем можно жить и даже обтавлять его мебелью, изменять, снести и т. п. Он уже существует. Можно построить много домов, используя один план и каждый будет независим от другого.
Можно сказать непосредственно класс не участвует в программе, он лишь описывает какими свойствами будут обладать созданные на его основе объекты. А вот объекты на основе класса, это и есть реальные сущности с которыми вы работаете в коде, указывая класс только после слова new.
И еще насчет терминологии:
Переменная, которая принадлежит объекту, называется еще полем.
Функция, которая принадлежит объекту, называется еще методом.
Больше объект ничего не содержит (поля + методы) , поэтому в доме дверь, окно, правая стена, пол - это будут поля объекта, а действия проветрить, переместить, снести, отремонтировать будут его методами.
P.S. Наследование - мы берем копию готового плана дома и дорисовываем или стираем нужные нам вещи. Получаем новый план, при этом часть его уже была нарисована и не пришлось заново все рисовать))
вообще говоря объект в C# имеет два определения. это первоначально базовый тип от которого наследуют ВСЕ классы. и уже во вторую очередь объект - это экземпляр класса.
Александр, ну объяснил так объяснил.
Не знаю как в actionscript, но в c# на объекте хранятся статические поля и методы, а на экземплярах не статические поля. Объект один а экземпляров класса много и все ссылаются на объект. Допустим на примере того же дома, дом - это класс, объект это строительство и какие то общие черты для всех домов (допустим материал строительства - кирпич) , экземпляры это уже конкретные черты конкретных домов, то-есть допустим у класса дом есть поле "дверь" значит каждый конкретный дом должен в этом поле хранить информацию о том какая у него дверь, допустим железная или дубовая, а на объекте (строительство) кроме поля "материал строительства" есть допустим метод СтроитьДом () который может быть вызван на конкретном экземпляре и который из конкретных частей этого конкретного экземпляра соберёт дом. Ну надеюсь хоть чуть чуть разъяснил и в actionscript это не по-другому).
Не знаю как в actionscript, но в c# на объекте хранятся статические поля и методы, а на экземплярах не статические поля. Объект один а экземпляров класса много и все ссылаются на объект. Допустим на примере того же дома, дом - это класс, объект это строительство и какие то общие черты для всех домов (допустим материал строительства - кирпич) , экземпляры это уже конкретные черты конкретных домов, то-есть допустим у класса дом есть поле "дверь" значит каждый конкретный дом должен в этом поле хранить информацию о том какая у него дверь, допустим железная или дубовая, а на объекте (строительство) кроме поля "материал строительства" есть допустим метод СтроитьДом () который может быть вызван на конкретном экземпляре и который из конкретных частей этого конкретного экземпляра соберёт дом. Ну надеюсь хоть чуть чуть разъяснил и в actionscript это не по-другому).
Класс - пространство имен, а русским языком в класс входят методы и данные, свойство инкапсуляция.
экземпляр класса - как я понял из википедии это ссылка на объект, но не физическую форму.
Объект - это сущность, способная сохранять свое состояние, пример пришедший ко мне в голову первым это переменная или метод.
экземпляр класса - как я понял из википедии это ссылка на объект, но не физическую форму.
Объект - это сущность, способная сохранять свое состояние, пример пришедший ко мне в голову первым это переменная или метод.
Кхм:
Экземпляр объекта - это и есть набор методов и полей и прочего дерьма непосредственно в памяти, и связанные ссылкой.
А просто объект - это описание этих самых полей и методов и прочего дерьма для будущего экземпляра.
Экземпляр объекта - это и есть набор методов и полей и прочего дерьма непосредственно в памяти, и связанные ссылкой.
А просто объект - это описание этих самых полей и методов и прочего дерьма для будущего экземпляра.
Похожие вопросы
- С++, объект класса, экземпляр класса, какой тип переменной хранит экземпляр класса? (экземпляр это что? Word, lpstr..?)
- В чем различие ключевых слов public и static в java? И объясните конкретно , что такое экземпляр класса.
- Если термины "экземпляр класса" и "объект" взаимозаменяемы, зачем тогда нужен первый термин?
- Классы. Объекты. С++
- си шарп что такое экземпляры класса?
- Вопрос по C++, по классам, можно ли назвать классы объектами? что значит public и private
- Новичку по java трудно уяснить значение терминов класс, объект, метод, конструктор и тд -->
- Зачем нужно в с++ ООП? Ну классы, объекты? Если в си их не было, но язык исаользуется по сей день.
- Классы и объекты в с++
- как посчитать количество объектов в классе с помощью static. На С++