VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • 学习python第八天

注意几点:一定要自己敲代码,要注意类的大小写以及实例化时类的大小写,__init__ 属于函数。内部放的是属性不要放方法啥的,可以直接在其中添加新的属性,比如参数没有的。组合就是将别的类实例化在实例属性当中,由于是实例属性,所以是self

对象之间的关系:

组合关系:组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合。  有一堆组件构成一个完整的实体,组件本身独立但是又不能自己运行。必须跟宿主组合在一起才能运行。

比如人用棍子打狗。棍子就是一个组件,她不能自己独立运行,必须跟宿主组合一起才能完成人用棍子打狗这个行为。

class Dog:

    def __init__(self, name):
        self.name = name
        self.live = 100

class Weapon:
    def stick(self,obj):
        self.name = "打狗棒"
        self.attack = 10
        obj.live  -=  self.attack
        print(obj.live)
class Person:

    def __init__(self, name, sex):
        self.name = name
        self.sex = sex
        self.attack = 30
        self.weapon = Weapon()        #组合。在一个类中一另一个类的对象作为数据属性

dog1 = Dog("zangao")

p = Person("jack", "M")
p.weapon.stick(dog1)

面向对象继承:子类继承父类       继承父类的属性和方法。

继承与抽象,先抽象再继承

class Father:

  def __init__(self,name,age):

    self.name = name

    self.age = age

  def walk(self):

    print("walking on the sun!")

class Son(Father):          # 继承父类要在()中写出父类名

  def run(self):

    print("running on the road!")

  def walk(self):                          #继承了父类的方法,可以直接更改父类的方法。属性同样可以直接更改。但是不管是方法还是属性,父类中的并没有更改,其他子类继承的仍然是原父类中的类和方法

    print("change!")        

p = Son("jack",12)

在不改变父类方法的同时,给父类的方法添加功能:

class Son(Father):

  def eat(self):

    Father.eat()           #调用一下父类方法

  print("……")   #在不改变父类方法的情况下给父类方法添加功能。(父类方法并未改变,只在子类中改变)

给初始化属性添加新参数方式也是一样的:

class Father:
    def __init__(self,name,age):
        self.name = name
        self.age = age
class Son(Father):          
    def __init__(self,name,age,sex):
       Father.__init__(self,name,age)           #调用一下父类方法   此为py2的写法,py3有新的写法了
     super(Person,self).__init__(name,age)    #此为py3中的写法,和py2中的写法作用相同
     super().__init__(name,age)               #第三种super的写法
        self.sex = sex
p = Son("jack",12,"male")
print(p.sex)

多继承:继承多个父类。这玩意写出来太麻烦,但是却不是很难理解,我就不写了(主要就是懒的写了)。还需要了解一下C3算法。

最近好懒,没学多少东西

 

来源:https://www.cnblogs.com/xiaoyuheng/p/14614298.html


相关教程