python入门笔记——面向对象基础1_7(单继承)

写在前面的话:

 

面向对象三大特性---

---1.封装(1_1-->1_6), 根据 职责将属性和方法封装到一个抽象的类中;

---2.继承 (1_7-->1_8) 实现代码的重用, 相同的代码不需要重复的编写;

---3.多态(1_9以后) 不同的对象调用相同的方法,产生不同的执行结果,增加代码的灵活度;

正式开始单继承学习:

① 继承的概念

继承的概念:子类 拥有 父类的所有属性和方法

相同代码可以重用,这就是继承要做的事。 

举例:如下,动物类,狗类,哮天犬类中有互相包含的属性和方法。比如都会吃 喝 跑 睡觉。

所以在写代码的时候,相同代码可以重用,这就是继承要做的事。 

② 继承的语法 

如下语法:

class 类名(父类名):

pass

 在写动物类,狗类,哮天犬类时,共同有的属性我们考虑放到 父类中。也就是哮天犬属于狗类,而狗类属于动物类,所以哮天犬的父类是狗类和动物类,狗类的父类是动物类。

程序如下:

class Animal:

    def eat(self):
        print("吃---")

    def drink(self):
        print("喝---")

    def run(self):
        print("跑---")

    def sleep(self):
        print("睡---")


class Dog(Animal):
    # 下面注释部分方法由继承父类提供,子类不需要在重复写了
    # def eat(self):
    #     print("吃")
    #
    # def drink(self):
    #     print("和")
    #
    # def run(self):
    #     print("跑")
    #
    # def sleep(self):
    #     print("睡")

    def bark(self):
        print("叫")


dog = Dog()
dog.eat()
dog.drink()
dog.run()
dog.sleep()
dog.bark()

运行结果:

③.继承的传递性

子类 拥有 父类 以及 父类的父类 中 封装的所有 属性和方法

通俗来讲就是儿子继承父亲并且继承爷爷。

案例:哮天犬,继承狗类,继承动物类

程序实现:

class Animal:

    def eat(self):
        print("吃---")

    def drink(self):
        print("喝---")

    def run(self):
        print("跑---")

    def sleep(self):
        print("睡---")


class Dog(Animal):

    def bark(self):
        print("叫")



class Xiaotianquan(Dog):

    def fly(selfs):
        print("我会飞!")


xtq = Xiaotianquan()
xtq.eat()
xtq.drink()
xtq.run()
xtq.sleep()
xtq.bark()
xtq.catch()

④ 继承的注意事项

在动物类中除了上节讲的 派生一个Dog类,这节我们再派生一个Cat类,思考:Xiaotianquan类能否调用Cat类

 

程序如下:

class Animal:

    def eat(self):
        print("吃---")

    def drink(self):
        print("喝---")

    def run(self):
        print("跑---")

    def sleep(self):
        print("睡---")


class Dog(Animal):

    def bark(self):
        print("叫")


class Cat(Animal):

    def catch(self):
        print("我会抓老鼠")

class Xiaotianquan(Dog):

    def fly(selfs):
        print("我会飞!")


xtq = Xiaotianquan()
xtq.catch()

注意程序会报错, 因为xiaotianquan类和Cat类不是直接继承关系,所以哮天犬不能调用Cat类的抓老鼠方法。

 

 

 


版权声明:本文为weixin_54052781原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。