Inheritance and Abstract classes

Class relationships

There are two primary types of relationships between classes in Java:

– aggregation (referred as has-a) – inheritance (referred as is-a)

Inheritance

The inheritance relationship is also known as:

Parent/Child or Superclass/Subclass. An Audi TT is-a car. A Smart Car is-a car. – written as is-a – via the extends keyword

Subclasses inherit the properties (attributes and operations) of their superclass.

To provide specialisations, subclasses override methods that they inherit from the superclass

Polymorphism

Using a single definition (superclass) with different types (subclass).

This is what allows us to treat a Turtle or a Rabbit as a Creature. Creature c = new Rabbit(); // Also allowed!

 We can now create arrays that contain both Rabbit and Turtle objects!

Creature cArray[] = new Creature[7];

Abstract:

The compiler will not let you instantiate an abstract class.

– Nobody can EVER make an instance of it. – The only use it has is in being extended.

a subclass must implement ALL abstract methods from its superclass (or be declared abstract).

(子类重写抽象类中的所有抽象方法,或声明子类也是抽象类)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值