Ninteen 类空间_组合

1、类名称空间对象空间

  对象的属性:不仅在__init__里面添加,还可以在其它方法或者类外面添加

  类的属性:不仅在类内部可以添加,还可以在类外部添加

  对象空间存在一个类对象指针,所以对象可以找到类中的变量以及方法

  类名只能找到类中的变量、方法、父类中的,不能找对象中的属性

2、组合:将一个对象封装一个属性,属性是另一个类的对象

  好处:1、代码更合理

     2、类与类之间的耦合性增强

3、继承

 

class Animal(object):
  # 继承object是新式类,不继承则是经典类,虽然py3做了优化,但还是建议写上 type_name
= '动物类' def __init__(self,name,age): self.name = name self.age = age def eat(self): print('吃东西') class Person(Animal): def __init__(self,name,age,mind): Animal.__init__(self,name, age) # 方法一 用的少 super().__init__(name, age) self.mind = mind

   def eat(self):
     super().eat()
     print('%s 吃饭' % self.name)
# 既执行子类方法,又执行父类方法
p1 = Person('某',18,'有思想')
p1.eat()

 4、面向对象中super的作用: 

  super() 函数是用于调用父类(超类)的一个方法

  super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查

posted @ 2019-01-15 15:32  pythonernoob  阅读(193)  评论(0)    收藏  举报