面向对象进阶——封装、继承、多态


面向对象编程有三大特性:封装、继承、多态。下面来进行详细的学习吧!

封装

​ 封装的意思就是指把数据与功能整合在一起,需要使用的时候,再去调用,简单来说,也就是类的功能,类就是存放数据和功能的容器。除此之外,针对于封装到对象或者类中的属性,我们还可以控制对它们的访问,也就是隐藏属性,如果要详细了解,可以查看之前的笔记:面向对象基础——绑定方法、非绑定方法、隐藏属性、property装饰器

继承

什么是继承

​ 继承就是新建类的一种方式,新建出来的类称为子类或者称作派生类,被继承的类称为父类或者基类。子类可以继承父类的属性。

为什么要用继承

​ 类解决了对象与对象之间的代码冗余问题,而继承则解决了类与类之间的代码冗余问题

如何使用继承
  • 经典类:没有继承object类的子子孙孙类都是经典类

  • 新式类:继承了object类的子子孙孙类都是新式类

  • 注意:只有在python2中才区分经典类和新式类,在python3中都是新式类

继承所满足的是什么是什么的问题,下面我们通过代码来进行练习:

# 抽象出来学生和老师的共同点
class People():
    school = '清华大学'
    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender

# Student类继承People类:表示学生是人
class Student(People):
    def __init__(self, name, age, gender, course=None):
        if course is None:
            course = []
        People.__init__(self, name, age, gender) # 指名道姓的调用父类
        self.course = course

    def choose_course(self):
        print('aaaa')


class Teacher(People):
    def __init__(self, name, age, gender, level):
        People.__init__(self, name, age, gender)
        self.level = level

    def score(self):
        print('打分')

stu = Student('jack', 19, 'male')
tea = Teacher('mary', 20 ,'female', 10)

print(stu.name)
print(stu.school)
print(tea.school)
单继承下的属性查找顺序

​ 在python中既支持一个类继承一个类,也支持一个类同时继承多个父类,下面我们先看看在单继承下的属性查找

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值