Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / эмуляция множественного наследования классов или что? / 5 сообщений из 5, страница 1 из 1
23.08.2013, 11:22:50
    #38375583
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эмуляция множественного наследования классов или что?
Доброго всем времени суток! Продолжаю читать "Философию Явы" и остановился на главе внутренних классов. Эккель описывает иной способ множественного наследования, но показывает на примере имплементации интерфейсов (стр.262, если кого заинтересует). Так вот пытливость ума проснулась и выродила следующее для классов:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
class ParentA
{
	public void ShowPA()
	{
		System.out.println( "from ParentA" );
	}
}

class ParentB
{
	public void ShowPB()
	{
		System.out.println( "from ParentB" );
	}
}

class Child extends ParentA
{
	public void ShowPA()
	{
		System.out.println( "showPA from Child" );
	}
	
	public ParentB foo()
	{
		return new ParentB()
		{
			public void ShowPB()
			{
				System.out.println( "showPB from Child" );
			}
		};
	}
}

public class MultiClasses
{
	public static void testParentA( ParentA ob )
	{
		ob.ShowPA();
	}
	
	public static void testParentB( ParentB ob )
	{
		ob.ShowPB();
	}
	
	public static void main( String[] args )
	{
		ParentA pA = new ParentA();
		ParentB pB = new ParentB();
		Child child = new Child();
		
		testParentA( child );
		testParentB( child.foo() );
	}

}



Хочется собственно повторить заголовок темы и спросит - это действительно эмуляция или что-то иное?
...
Рейтинг: 0 / 0
23.08.2013, 13:55:16
    #38375829
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эмуляция множественного наследования классов или что?
Никакая это не эмуляция. Это композиция. Внутри одного объекта лежит другой. Или как в данном
случае метод foo() класса Child возвращает инстанс класса ParentB. Или даже более того
этот метод можно сделать статическим.
...
Рейтинг: 0 / 0
26.08.2013, 22:09:50
    #38377933
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эмуляция множественного наследования классов или что?
mayton,

а разве композиция - это не создание именно объекта внутри класса? или объявление другого класса это тоже композиция?
...
Рейтинг: 0 / 0
27.08.2013, 02:21:53
    #38378019
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эмуляция множественного наследования классов или что?
Наш спор обретёт более предметную окраску если ты скажешь что тебе нужно сделать.
Я никогда не любил системный анализ в вакууме. Эта чистая болтология. Там нет правых
и неправых есть просто разные взгляды на дизайн кода.
...
Рейтинг: 0 / 0
27.08.2013, 08:59:15
    #38378104
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эмуляция множественного наследования классов или что?
mayton,

да нет же, ты меня неправильно понял. почему если есть нотка сомнения в вопросе, то сразу спор)) я просто хотел уточнить и все. просто в той же "философии" композиция объяснялась через создание объекта внутри класса, а только потом через неск.глав пошли внутренние классы. вот я и хотел уточнить) а так - спасибо за разъяснение!)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / эмуляция множественного наследования классов или что? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]