首页 > 代码库 > JAVA学习第十三课(继承下:抽象类abstract)

JAVA学习第十三课(继承下:抽象类abstract)

抽象:模糊 == 看不懂

继承:发现事物之间的共性关系,并向上抽取,以提高代码的复用性


事物里都具备这个功能,但是这个功能是什么,怎么去做,不知道,这就涉及到了抽象


1、继承:A,B两个类,都有show的功能,实现方式也一样那么就可以向上抽取其共性,做新类,使A,B继承于新类。

2、抽象:A,B两个类,都有show的功能,但是功能的实现方式不一样,那么向上抽取其方法生明,但是内容不一样,那么就用关键字abstract标识,表示抽象函数,那么这个类也必须用abstract标识,表示抽象类


abstract class C
{
	abstract void show();
}
class A extends C
{
	void show()
	{
		System.out.println("A");
	}
}
class B extends C
{
	void show()
	{
		System.out.println("B");
	}
}

狗和狼都会吠叫,他们都属于犬科,犬科都有吠叫功能

犬科作为一类事物,他们都具备一个吠叫的功能,但是怎么叫确定不了,这方法就教抽象。

当一个类描述一个事物时,没有足够的信息来描述这个事物,这个类就是抽象的


abstract class 犬科
{
	abstract void sing();
	//四条腿,两个眼睛,跑,跳....
}
class 狗 extends 犬科
{
	void sing()
	{
		System.out.println("嗷嗷叫");
	}
	//。。。。
}
class 狼 extends 犬科
{
	void show()
	{
		System.out.println("汪汪叫");
	}
	//。。。
}

PS:java支持多国语言,灰常强大,开发禁用

明天继续。。。

JAVA学习第十三课(继承下:抽象类abstract)