zoukankan      html  css  js  c++  java
  • python第四十四课——继承性之单继承

    2.继承性

    继承:

    使用场景:

    1).生活层面:。。。

    2).计算机层面:

    两部分组成,一部分我们称为父类(基类、超类、superclass),另一部分我们称为子类(派生类、subclass),

    子类可以使用父类中的成员(使用权)

    继承性的好处:

    1).代码复用性变强

    2).代码扩展性变强

    3).代码维护性变好

    4).代码阅读性变好

    继承性弊端:

    类和类之间是一种强耦合关系

    继承的好处要远远多于弊端,所以我们还是要经常使用继承的(合理),切记不能为了继承而继承

    分析:

    继承体系可以很庞大(呈现树状结构图),

    越往上层的类,感觉越模糊,越不清晰

    越往下层的类,感觉越清晰,越具体

    所以得出结论,在之后的开发过程中创建父类的可能性变低,子类实例化的可能性极高


    演示单继承的结构和使用:
    父类:Person
    子类:Teacher
    class Person:
        def __init__(self,name,age):
            print('我是Person类的构造...')
            self.name=name
            self.age=age
    
        #吃和睡
        def eat(self):
            print('吃一个...')
    
        def sleep(self):
            print('睡一个...')

    代码:(Person),就让Teacher类和Person发生继承关系
    Person:父类
    Teacher:子类
    class Teacher(Person):
        def __init__(self,name,age,salary):
            print('我是Teacher类的构造...')
            self.salary=salary
            '''
            为了给父类Person中的name和age属性赋值,
            所以我们需要在子类构造函数中显示的调用父类构造来实现
            关键字:super
            '''
            super().__init__(name,age)
            # super(Teacher, self).__init__(name,age)
            # Person.__init__(self,name,age)
    
        #教书
        def teach(self):
            print('教书育人...')
    
    #实例化子类对象-->Teacher对象
    t=Teacher('joy',34,10000.0)
    
    #调用父类的属性
    print(t.name,t.age)
    
    #调用子类的属性
    print(t.salary)
    
    #调用父类函数
    t.eat()
    t.sleep()
    
    #调用子类的函数
    t.teach()

    返回目录
  • 相关阅读:
    PHP数组
    java中线程池的几种实现方式
    JAVA是是如何处理字符的。
    byte范围及8种常见数据类型
    对Spring 及SpringMVC的理解
    Nginx+Tomcat搭建负载均衡
    nginx + tomcat配置负载均衡
    Java并发编程:Lock
    Java内部类详解
    奇怪的Java题:为什么1000 == 1000返回为False,而100 == 100会返回为True?
  • 原文地址:https://www.cnblogs.com/hankleo/p/10460459.html
Copyright © 2011-2022 走看看