JAVA学习日志之继承与多态

一.什么是继承

当我们看到在公路上行驶的某类品牌的汽车时,可以知道它们是由相同的生产方式生产出来的,仅仅是一些部件不同,不同的车子性能因而不同。当设计生产线软件的时候,我们可以优先考虑设计一个统一的车模,车模具有所有汽车的共有属性,如车轮、发动机、底盘、方向盘等,这样生产的汽车是一辆非常普通的汽车。如果要生产更高级一点的汽车,例如赛车,需要重新定制车模吗?当然不需要,只需要修改原有车模就可以了,把如发动机、底盘等属性加以强化,而其他的部位不用发生变化可以直接使用;如果生产卡车,则只需要在原有车模的基础上,扩充一个属性,翻斗即可。
我们可以看到,这是明显的父与子的关系,首先有车模(父),其次对车模进行扩充完善,保留一些功能,加强或新增一些功能(子),这就是日常生活中的继承。
男人和女人是对人类的扩充,笔记本电脑、PC是对计算机的扩充。

子类别既承接了父类别具有的特性,同时也拥有自身特有的属性。

继承是一种由已有的类创建新类的机制。利用继承,我们可以先创建一个共有属性的一般类,根据该一般类再创建具有特殊属性的新类,新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为。由继承而得到的类称为子类或派生类,被继承的类称为父类、基类或超类。JAVA不支持多重继承,子类只能有一个父类。

二.为什么要继承

//轿车
public class Saloon_car {
String engine;//引擎
String Wheel;//车轮
String airbag;//安全气囊
public void run(){}//定义车跑的行为
}


//卡车
public class Truck {
String engine;//引擎
String Wheel;//车轮
String carport;//货舱
public void run(){}//定义车跑的行为
}
对于这两个类,它们是有很多重复的属性与行为,这不仅带来了代码的繁琐,产生大量冗余的代码,使程序变得难以驾驭,我们很难对程序进行更新。如果不使用继承,每当生产线扩充,我们就需要单独另写一个类,并且在新类中重复编写原来类中的代码。

三.怎么使用继承

继承使用的关键字是extends。
首先可以定义一个父类–Car,再定义轿车、卡车类,拥有父类Car的所属性和行为,再加上自己的特性,形成子类。继承的妙用,把公共属性和行为提取出来放在父类,由子类扩充父类来实现更多的特性。

四.方法覆盖(重写)

当子类需要对父类的方法加以改进时,就需要在子类中重新编写原方法,覆盖父类的方法。

注意: 重载和重写的区别,重载既可以发生在一个类中,也可以发生在子类与父类之间(子类继承父类方法,同时完成方法重载),而重写,只能是子类重写父类方法。

五.多态

多态指的就是多种形态。
一个父类可以有多个子类,而在子类里可以重写父类的方法,每个子类重写的代码不一样,自然表现形式就不一样。如果用父类的变量去引用不同的子类对象,在调用相同的方法时得到的结果和表现形式就不一样。
由父类引用创建的对象,只能调用子类从父类继承的方法,不能调用自己扩展的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值