面向对象编程---继承和多态

目录

一.概述

二.继承

2.1 继承的概述

2.2继承的语法规则

2.3代码示例

2.4类中属性,方法的继承与覆盖

1.属性的继承与覆盖

2.方法的继承与覆盖

       方法的覆盖是指子类中定义一个方法,并且这个方法的名字,返回类型,参数列表与父类继承的方法完全相同。

注意事项

2.4super关键字

三.多态 

3.1多态的概述:

3.2向上转型

3.3多态的好处

四.final关键字(终结器)


一.概述

面向对象程序设计的三大原则是封装性,继承性和多态性。继承性是子类自动共享父类的数据和方法的机制,它是由类的派生功能体现的。继承具有传递性,使得一个类可以继承另一个类的属性和方法,这样通过抽象出共同的属性和方法组成新的类,便于代码的复用。而多态是指不同类型的对象调用相同的方法时产生不同的行为 。当对象接收到调用方法的消息时,根据该对象所属的类,动态选用在该类中指定要实现的算法。

二.继承

2.1 继承的概述

猫,狗,鸟都是动物的一种,分别具有同一样的特征。例如:名字,年龄等。亦拥有同样的行为,如吃这个动作。当然,每种不同的动物也有自己的独特的特征,这里就不一一列举了。

在面向对象的程序设计中该怎样描述现实世界的这种状况呐?这就用到了继承的概念。

所谓继承,就是从已有的类中衍生出新的类,新的类具有已有类的数据属性和行为,并能扩展新的能力。像动物这样被继承的类,我们称为父类,基类或超类,对于像猫和狗这样的类,我们称为子类,派生类。和现实生活中的儿子继承父亲的财产类似,子类也会继承父亲的属性和方法,已达到代码重用的效果。

2.2继承的语法规则

.使用extends指定父类

.java中一个字类只能继承一个父亲

.子类会继承父类所有的public属性和方法

.对于父亲的private的属性和方法,子类中是无法访问的

2.3代码示例

public class Animal{
        public String name ;
        pub;ic int age;     
        public Aniaml (String name,int age){
        this.name = name;
        this.age = age;
}
        public void eat(String foood){

         System.out.ptintln(this.name + "正在吃" + food);
}
}
//子类Cat
class Cat extends Animal{

          public Cat(String name,int age){
      //使用super关键字调用父类的构造方法.
          super(name,age);
}
         public void eat(String food){
         
      System.out.println("
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值