• python面向对象编程


    (1)定义类        

    class   dog():

      方法列表

    (2)创建对象

        对象名= 类名()

        dog=dog()

    (4)__init__方法

    class Dog():
    def __init__(self,legs,color):
    self.legs=legs
    self.color=color

    dog=Dog(4,'黑色')
    print(dog.legs)
    print(dog.color)

    • __init__()方法,在创建一个对象时默认被调用,不需要手动调用
    • __init__(self)中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么__init__(self)中出了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)
    • __init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去

    (5)__str__()方法

    class Dog():
    def __init__(self,legs,color):
    self.legs=legs
    self.color=color
    def __str__(self):
    msg="我的狗"+str(self.legs)+self.color
    return msg

    dog=Dog(4,'黑色')
    print(dog)

    我的狗4黑色
    • 当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据

    (6)单继承、重写父类的方法、调用父类的方法

    a.继承
    class Cat():
    def __init__(self,name,color='白色'):
    self.name=name
    self.color=color
    def run(self):
    print("%s在跑"%self.name)

    class Bosi(Cat):
    def SetnewName(self,name):
    self.name=name
    def eat(self):
    print("%s在吃"%self.name)

    bs=Bosi("印度猫")
    print(bs.name)
    print(bs.color)
    bs.eat()
    bs.SetnewName("波斯猫")
    bs.run()


    印度猫
    白色
    印度猫在吃
    波斯猫在跑

    • 子类在继承的时候,在定义类时,小括号()中为父类的名字
    • 父类的属性、方法,会被继承给子类

    b.重写父类方法

    class dog():
    def sayhello(self):
    print("sayhello.....1")

    class alasijia(dog):
    def sayhello(self):
    print("sayhello.....2")

    erha=alasijia()
    erha.sayhello()

    sayhello.....2

    c.调用父类的方法
    class dog():
    def setname(self,name):
    self.name=name

    class alasijia(dog):
    def getname(self,name):
    super().setname(name)


    初始化化调用示例

    class B(A):   
      def __init__(self):       
      super().__init__() 







  • 相关阅读:
    数字雨-贪吃蛇
    C语言入门9-2-模块大致一览
    C语言入门9-1-分类函数
    C语言入门8-数组-基本算法
    C语言入门7-程序设计方法基础-循环结构
    C语言入门6-选择结构--f语句-switch
    C语言入门5-键盘的输入和屏幕输出
    C语言入门4-运算符和表达式
    C语言入门3-C语言概述及数据类型
    Systemd 入门教程:命令篇
  • 原文地址:https://www.cnblogs.com/zzzao/p/9175604.html
Copyright © 2020-2023  润新知