![]() |
Классы: объект в объекте.
И снова здравствуйте.
Таких возникло два вопроса: 1) каким образом ПРАВИЛЬНО создавать объекты в классе? Тоесть не просто Код:
myObj:Object = new Object();а сразу с указанием переменных объекта. 2) можно ли создавать вложеные объекты в объектах в классе? (судя по моим скромным попыткам - нельзя =) И если можно, то как? Спасибо. |
а какая разница, в классе - не вклассе...
Код:
obj={prop1:"значение1", prop2:1000, prop3:{prop2:234}, prop4:null} |
Поясню: например хочу создать класс для игры. Класс допустим Human, в котором иерархически расписаны объекты в него входящие, типа Head, Body и тд. В то же время, каждый объект включает в себя под_объекты, например: в объекте Head существует под_объект Eyes, который уже несет в себе свои переменные (например color_, для цвета глаз).
В итоге когда я создаю персонажа Код:
Edd:Human = new Human();Код:
Edd.Head.Eyes.color_ = "green"; |
Цитата:
Можно Код:
obj={}Код:
obj.obj2.prop=123Код:
obj={} |
Ну я пытался изобразить такую штуку:
Код:
var Head:Object = { Eyes:Object }Код:
var Head:Object = { Eyes:objEyes } |
Head, Eyes должны быть классами, а ссылки на них — поля классов.
Код:
var human:Human = new Human();Код:
class Human { |
Здорово, спасибо.
А можно обойтись только конструкторами? Ну тоесть их будет достаточно для того, чтобы потом обращаться к переменным таким образом: Код:
Human.Head.Eyes.color_ = "green"; |
Нет, нужно использовать геттеры.
|
А как класс Human узнает о существовании класса Head? #include? или как-то по-другому?
|
Он этот самый Head и создает в конструкторе, я же вам пример написал. Head в конструкторе создает Eyes и т.д.
|
А, пардон, втупил =) Спасибо.
|
Цитата:
private var _head:Head; The class or interface 'Head' could not be loaded. public function get Head():Head {" Вы могли бы выложить небольшой пример, чтобы он работал? =) Или хотя бы разъяснить мне где я втупил. Дело в том, что я пока еще смутно понимаю алгоритм создания объекта объектом. А когда еще и компилятор смутно понимает о чем речь, так я вообще не могу понять смысла =))) |
Нет, не мог бы. Пишие классы сами и постарайтесь понять суть.
Это был пример, а не готовый код. |
Да я понимаю, я собсна и не коллекционирую чужие решения и стараюсь всегда сам понять суть. Но порой вот такие вот мелкие тупики очень тормозят процесс осмысления.
Всеравно спасибо. |
Хыхы... Я все разрулил =)))
Еще раз спасибо за наводку =) |
| Часовой пояс GMT +4, время: 23:47. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.