文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
十、面向对象
''' 面向对象 类=面向对象 行为、特征 类最基本的作用封装代码 ''' __author__ = 'poetries' class Student(Human): # 类变量 静态属性 author = 'poetry' SUM = 10 num = 999 score = 98 text = '小明今年' def __init__(self,name,age): # 构造函数 初始化对象属性 # 成员可见性 __外部不能访问 self.__name = name self.__age = age # 实例方法 第一个参数默认是 self def getAge(self): # 实例中可调用类变量 # print(self.author) return self.__getText() + str(self.__age) def getName(self): return self.__name def setName(self,name): self.__name = name # 私有方法,外部不可以访问 def __getText(self): return self.text # 静态方法 # 没有 self # 实例和类都可以调用 @staticmethod def test(): # 内部可以访问类变量 print('静态方法',Student.SUM) # 类方法 操作和类相关的 # cls 代表 student 这个类 # 使用方式 student.testd() # 实例和类都可以调用,不要使用实例调用 # 推荐使用类方法代替静态方法 @classmethod def testd(cls): print('classMethod') stu = Student('poetries',22) print(stu.getAge()) # 修改内部变量值,通过内部定义一个方法,可以在内部进行判断,起到保护作用 stu.setName('静观流叶') print(stu.getName()) # print(Student.author) # print(Student.__dict__) # print(Student.test())
''' 继承 ''' class Human(object): num =10 def __init__(self,name,age): self.__name = name self.__age = age def getName(self): return self.__name # 继承父类 Human class Student(Human): def __init__(self,school,name,age): self.school = school # 子类调用父类构造函数 # 方式 1 # Human.__init__(self,name,age) # 方式 2 推荐 super super(Student,self).__init__(name,age) def getInfo(self): return self.getName() + self.school stu = Student('中山大学','poetry',22) print(stu.getInfo())
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论