面向对象
Posted hellozizi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象相关的知识,希望对你有一定的参考价值。
# 封装 # 对外部隐藏具体的实现细节, 只提供简单的调用接口, 如USB接口 # 在类中, 用双下划线, 封装属性或方法, 外部不能调用, 不能继承 # 例: def __test(self): # 私有方法 pass __name = ‘lee‘ # 私有属性 # 继承 # 将一些共同代码抽取成一个类, 需要用的继承就可以, 就可以在自己的类里面使用 # 实现代码的复用, 减少代码冗余 # 例:老师和学生都是人,都会吃饭和睡觉. class Person: def eat(self): print(‘eat‘) def sleep(self): print(‘sleep‘) class Student(Person): pass class Teacher(Person): pass # 多态 # 一个类或方法, 会根据调用者的不同, 产生不同的结果. #例 print(type(‘str‘)) print(type(123)) # 组合 # 由于类和类之中可能不存在关联关系, 所以不能继承, 这时就可以用组合 # 将一个类的实例, 以参数的形式传入另一个类中, 这样, 另一个类的对象, 通过实例, 就可以直接调用实例中的方法或属性 # 如: 学生和手机, 学生拥有手机, 但学生不是手机, 所以, 就可以用组合 # # 例: # # 创建电话类 class Phone: def send_text(self): print(‘send_text‘) # 创建学生类 class Student: # 让学生拥有电话 def __init__(self, name, phone): self.name = name self.phone = phone # 创建电话 phone = Phone() # 创建学生,并将电话传给学生 stu = Student(‘lee‘, phone) # 学生就可以用电话发短信了 stu.phone.send_text()
以上是关于面向对象的主要内容,如果未能解决你的问题,请参考以下文章