面向对象思想的三大特征

面向对象思想的三大特征

封装性、继承性、多态性
二、继承性:

问题①:为什么有继承这个概念?

​ 例如我们创建一个学生类(Student),教师类(Teacher),家长类(Parent),这三个类中都会有的属性:姓名、年龄、性别等等;这三个类中都会有的方法有:走路、吃饭、睡觉等等。如果创建完成这三个类,那么这些重复的属性和方法就会重复,这样显得代码不够高级,而且后期修改属性方法的话,要到每个类中去修改,做一些重复工作。能不能把这三个类中相同的方法属性进行提取,写到一个地方,然后每个类都能够拥有这样的属性和方法。也方便了后期的维护和修改。所以创建一个‘人’类(Person),让之前的三个类都和这个类有关系,都能使用Person类中的属性方法。我们把这种方便的操作起个名字,就叫它“继承”。

public class People {
    public String name;
    public int age;
    public int sex;
    
    public void walk(){}
    public void eat(){}
    public void sleep(){}
}
public class Student extends Person {
    public static void main(String[] args) {
        Student stu = new Student();
        stu.name = "张三";
        stu.walk();
    }
}

问题②:为什么要引入继承性?(继承性的好处)

​ Ⅰ、减少了代码的冗余,提高了代码的复用性

​ Ⅱ、便于功能的扩展

​ Ⅲ、为之后多态性的使用,提供了前提

==>继承性的格式:

​ [修饰符] class A extends B { }

​ A:子类、派生类

​ B:父类、超类

问题③:子类继承了父类以后有哪些不用?

体现一:子类就获取了父类中声明的所有属性和方法

  • 特别的,父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中私的结构。只因为封装性的影响,使得子类不能直接调用父类的结构而已。

体现二:子类继承父类以后,还可以声明自己特有的属性和方法,实现功能的拓展

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值