30/09/2018, 17:42

[JAVA][QUESTION] Can Java class be multiple-inheritance?

Mình có 1 câu hỏi liên quan đến Inheritance (tính kế thừa trong Java).

Như mọi người biết trong C++, chúng ta thoải mái kế thừa từ nhiều Class, vd:

class Snake : public Animal, public Drawing

Nhưng trong java, liệu ta có thể:

 class Snake extends Animal, Drawing {
    //more code
 }

không? và tại sao

Itachi Citus viết 19:49 ngày 30/09/2018

Không, tại vì ông James Gosling không thích .

Cương Nguyễn viết 19:50 ngày 30/09/2018

Thế lý do tại sao ông ta không thích

Itachi Citus viết 19:47 ngày 30/09/2018

Vì ổng lười .
Multi inheritance có một vấn đề khó giải quyết là diamond problems. Khi phát triển một ngôn ngữ có hai lựa chọn: Tìm một quy tắc thỏa đáng để giải quyết nó (python) hoặc không hỗ trợ (java) và thay thế nó bằng một khái niệm khác (implements multi interfaces). Cách thứ hai dễ hơn, nên có thể nói ổng… lười . Giỡn tí.

Cương Nguyễn viết 19:55 ngày 30/09/2018

Hehe chuẩn luôn

Bao "Storm" Le viết 19:50 ngày 30/09/2018

Không. Vì:

#include<stdio.h>
class BaseA{
	public:
	void run(){
		printf("Base A");
	}
};
class BaseB{
	public:
	void run(){
		printf("Base B");
	}
};
class Derived: public BaseA, public BaseB{
	
};

int main(){
	Derived derived;
	derived.run();
	return 0;
}

Điều gì xảy ra?

Nguyễn Văn Tâm viết 19:50 ngày 30/09/2018

Không. Vì sao thì không biết

Minh Hoàng viết 19:53 ngày 30/09/2018

Nó sẽ bị bối rối đơn kế thừa có 2 mặt nhưng mặt tốt nhiều hơn.

Bài liên quan
0