Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.01.2013, 19:59
Dip52 вне форума Посмотреть профиль Отправить личное сообщение для Dip52 Найти все сообщения от Dip52
  № 1  
Ответить с цитированием
Dip52

Регистрация: Aug 2012
Сообщений: 297
По умолчанию Что такое потомки и наследование?

Здравствуйте.

У Колина Мука написано: Переменная экземпляра, объявленная с использованием модификатора доступа protected может быть доступна ... или для кода потомков этого класса (мы ещё не рассматривали наследование...).

Считается ли, что если я определяю подкласс ˜˜— наследованием? Подкласс в данном случае является потомком?

Основной класс:
Код AS3:
//Определяю пакет:
package src
{
	import flash.display.MovieClip;
 
	//Определяю класс:
	public class MainClass extends MovieClip
	{
		//Определяю метод-конструктор:
		public function MainClass()
		{
			//Определяю объект (создание объекта):
			var lowerClass:LowerClass = new LowerClass('Главный (основной) класс.');
		}
	}
}
Не основной класс (подкласс):
Код AS3:
//Определяю пакет:
package src
{
	//Определяю класс:
	public class LowerClass
	{
		//Имя класса, который вызывает этот класс:
		protected var nameClass:String = '';
		//Определяю метод-конструктор:
		public function LowerClass(argument)
		{
			nameClass = argument;
		}
	}
}
Заранее огромное спасибо.

Старый 22.01.2013, 20:11
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 2  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Ох, автор, дочитайте книжку. Это не наследование - это создание экземпляра LowerClass.
Наследование чуть сложнее и интереснее.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 22.01.2013, 20:16
strangedk вне форума Посмотреть профиль Отправить личное сообщение для strangedk Найти все сообщения от strangedk
  № 3  
Ответить с цитированием
strangedk
 
Аватар для strangedk

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Цитата:
Сообщение от Dip52 Посмотреть сообщение
Здравствуйте.

У Колина Мука написано: Переменная экземпляра, объявленная с использованием модификатора доступа protected может быть доступна ... или для кода потомков этого класса (мы ещё не рассматривали наследование...).

Считается ли, что если я определяю подкласс ˜˜— наследованием? Подкласс в данном случае является потомком?
Ну вы же еще не рассматривали наследование, а изучаете только модификаторы доступа.
Наследование действительно интереснее, но перед ним нужно еще хорошо почитать про классы. Пока забудьте про protected. Это вам пригодится когда дойдете до главы с наследованием. Пока пусть будут только private и public
__________________
adobe AS3 manual

Старый 22.01.2013, 20:37
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 4  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Код AS3:
public class MainClass extends MovieClip
Так вот же наследование. MainClass наследует все public, protected, internal методы и свойства класса MovieClip.
__________________
тут я

Старый 22.01.2013, 21:34
strangedk вне форума Посмотреть профиль Отправить личное сообщение для strangedk Найти все сообщения от strangedk
  № 5  
Ответить с цитированием
strangedk
 
Аватар для strangedk

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Цитата:
Сообщение от Dip52 Посмотреть сообщение
Считается ли, что если я определяю подкласс ˜˜— наследованием? Подкласс в данном случае является потомком?
На словах - да, но то что вы определили не подкласс. И это не наследование.
__________________
adobe AS3 manual

Старый 23.01.2013, 10:43
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 6  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
MainClass — это основной? Он находится на 8 уровне наследования. Сложно назвать его основным.
MainClass -> MovieClip -> Sprite -> DisplayObjectContainer -> InteractiveObject -> DisplayObject -> EventDispatcher -> Object
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 23.01.2013, 13:24
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 7  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
То, что Вы делаете в конструкторе MainClass, называется Композиция (другой термин — агрегирование). То есть экземпляр одного класса создает экземпляр другого класса, который будет "помогать" агрегатору в выполнении каких-то его задач. Почти всегда агрегирование представлено в классе документа, в котором обычно создаются разные объекты разных классов, визуальные и не визуальные, и связываются в единую систему: композиция.
Наследование и композиция — два главных вида отношений, "является/расширяет" и "содержит/использует".
При наследовании отдельного экземпляра "другого" класса не создается. Наследник фактически сам является экземпляром этого класса. Например, Яблоко является Фруктом, а не содержит в себе экземпляр Фрукта. Это означает, что у Яблока есть абсолютно все свойства класса Фрукт, плюс "расширяющие" Фрукт свойства, характерные только для Яблока, и поэтому не содержащиеся в классе Фрукт. При этом класс Фрукт может наследовать скажем класс Пища, и содержать специфические свойства, характерные не для любой Пищи, а только для фруктов. Фрукт "расширяет" (extends) Пищу, добавляя к его набору свойств свои специфические. Таким образом увеличение количества свойств в наборе "уточняет" (конкретизирует) сущность объекта. Про верхний класс при этом говорят, что он более абстрактен, а наследник более конкретен.
— Маша, принеси мне с кухни еды.
— Чего конкретно?
— Ну, какой-нибудь фрукт.
— Яблоко? Банан? Мандаринку?
__________________
Reality.getBounds(this);

Старый 23.01.2013, 13:39
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 8  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Агрегирование и композиция немного разные вещи. Композиция это частный случай агрегации. Выглядит так, будто бы я говорю: "вы делаете квадрат (другой термин — прямоугольник, параллелограмм, четырехугольник, многоугольник)".
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:30.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.