zoukankan      html  css  js  c++  java
  • python继承

    继承介绍:
    继承就是让类和类之间产生父子关系,子类可以拥有父类的静态属性和方法。

    python中的继承分为单继承多继承

    python的单继承:
    先定义一个人的类;自我介绍,姓名,年龄,体重

    class Person:
        # 定义基本属性
        name = ''
        age = 0
        # 定义私有属性,私有属性在类外部无法直接进行访问
        __weight = 0
        # 构造方法
        def __init__(self,name,age,weight):
            self.name = name
            self.age = age
            self.weight = weight
        def msg(self):
            return '{}说:我{}岁'.format(self.name,self.age)
    # 继承
    class LiMing(Person):
        gerden = ''
        def __init__(self,name,age,gerden,weight):
            #调用父类的构造函数
            Person.__init__(self,name,age,weight)
            self.gerden = gerden
        # 重写父类msg方法
        def msg(self):
            return '{}说:我{}岁,性别{},体重{}KG'.format(self.name,self.age,self.gerden,self.weight)
    liming = LiMing('李明',18,'男',56)
    print(liming.msg())
    
    #执行结果:李明说:我18岁,性别男,体重56KG
    

    python的多继承:

    class Introduction:#自我介绍类
        def __init__(self,name,age):
            self.name = name
            self.age = age
        def msg(self):
            print('我是{},今年{}岁'.format(self.name,self.age))
    class Active:#行动类
        def __init__(self,song):
            self.song = song
        def Listen(self):
            print('我喜欢听{}'.format(self.song))
    class XiaoMing(Introduction,Active):#小明类继承以上两类
        def __init__(self,name,age,song):
            Introduction.__init__(self,name,age)
            Active.__init__(self,song)
    test = XiaoMing('小明',25,'七里香')# 实现小明类调用两个父类的方法
    test.msg()
    test.Listen()
    
    #我是小明,今年25岁 
    #我喜欢听<<七里香>>
    

    方法重写
    父类的方法

    class Parent:        # 定义父类
       def myMethod(self):
          print ('调用父类方法')
     
    class Child(Parent): # 定义子类
       def myMethod(self):
          print ('调用子类方法')
     
    c = Child()          # 子类实例
    c.myMethod()         # 子类调用重写方法
    super(Child,c).myMethod() #用子类对象调用父类已被覆盖的方法
    

    super()方法

    class A:
         def add(self, x):
             y = x+1
             print(y)
    class B(A):
        def add(self, x):
            super().add(x)
    b = B()
    b.add(2)  # 3
    

    类的专有方法:

    • init : 构造函数,在生成对象时调用
    • del : 析构函数,释放对象时使用
    • repr : 打印,转换
    • setitem : 按照索引赋值
    • getitem: 按照索引获取值
    • len: 获得长度
    • cmp: 比较运算
    • call: 函数调用
    • add: 加运算
    • sub: 减运算
    • mul: 乘运算
    • truediv: 除运算
    • mod: 求余运算
    • pow: 乘方
    爱,就是你和某个人一起经历的一切。
  • 相关阅读:
    Asp.Net MVC3 简单入门第一季(五) 通过Asp.Net MVC的区域功能实现将多个MVC项目部署到一个站点
    Asp.Net MVC3 简单入门第一季(一)环境准备
    Asp.Net MVC3 简单入门第一季(三)详解Controller之Filter
    Entity Framework快速入门一对零到一关系处理
    Html5 学习系列(一)认识HTML5
    程序员体检完事后的感受
    Asp.Net MVC3 简单入门第一季 【索引贴】
    实在忍不住,【转】一篇好文章!题目:【转】想要成功,请记住!
    Html5 学习系列(二)HTML5新增结构标签
    大学应该怎么读?
  • 原文地址:https://www.cnblogs.com/afly-8/p/13561148.html
Copyright © 2011-2022 走看看