powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / эмуляция множественного наследования классов или что?
5 сообщений из 5, страница 1 из 1
эмуляция множественного наследования классов или что?
    #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
эмуляция множественного наследования классов или что?
    #38375829
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никакая это не эмуляция. Это композиция. Внутри одного объекта лежит другой. Или как в данном
случае метод foo() класса Child возвращает инстанс класса ParentB. Или даже более того
этот метод можно сделать статическим.
...
Рейтинг: 0 / 0
эмуляция множественного наследования классов или что?
    #38377933
NDAleksey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

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

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


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