博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象---继承
阅读量:5069 次
发布时间:2019-06-12

本文共 2142 字,大约阅读时间需要 7 分钟。

面向对象----继承

继承 -- 需要解决代码的重复

继承语法:

class A:    passclass B(A):    passB继承A,A是父类,B是子类A是父类 基类 超类B是子类 派生类字类可以使用父类中的:方法 静态变量class Animal:    def __init__(self,name):        self.name = name    def eat(self):        print(f'{self.name} is eating')    def drink(self):        print(f'{self.name} is drinking')    def sleep(self):        print(f'{self.name} is sleeping')class Cat(Animal):    def climd_tree(self):        print(f'{self.name} is climbing')class Dog(Animal):    def house_keep(self):        print(f'{self.name} is keeping')小白 = Cat('小白')小白.eat()#先开辟空间,空间理由一个类指针指向Cat#调用init,对象在自己的空间找init没有找到,到Cat类找init也没有找到,找父类Animal中的init当子类和父类的方法重名的时候,我们只是用子类的方法,而不会去调用父类的方法class Animal:    def __init__(self,name):       self.name = name    def eat(self):         print('%s is eating'%self.name)    def drink(self):         print('%s is drinking'%self.name)    def sleep(self):         print('%s is sleeping'%self.name)class Cat(Animal):    def eat(self):        print(f'{self.name}吃猫粮')    def climb_tree(Self):        print(f'{self.name} is climbing')小白 = Cat('小白')小白.eat子类想要调用父类的方法的同时还想执行自己的同名方法猫和狗在调用eat的时候即调用自己的也调用父类的在字类的方法中调用父类的方法:父类名.方法(self)    class Animal:    def __init__(self,name,food):        self.name = name        self.food = food        self.blood = 100        self.waise = 100    def eat(self):        print(f'{self.name} is {self.food}')    def drink(self):        print(f'{self.name} is drinking')    def sleep(self):        print(f'{self.name} is sleeping')        class Cat(Animal):    def Cat(self):        self.bood += 100        Animal.eat(self)    def climb_tree(self):        print(f'{self.name} is climbing')        self.drinkclass Dog(Animal):    def eat(self):        self.waise += 100        Animal.eat(self)    def house_keep(self):        print(f'{self.name} is keeping')小白 = Cat('小白','猫粮')小黑 = Dog('小黑','狗粮')小白.eat()小黑.eat()继承语法 class 子类名(父类名):pass父类和子类方法的选择:    子类的对象,如果去调用方法,永远优先调用自己的    如果自己有 用自己的     自己没有,用父类的    自己有 还想用父类的:直接在子类方法中调用父类的方法 父类名.方法名(self)

单继承

  1. 调子类的:子类自己有的时候
  2. 调父类的:子类自己没有的时候
  3. 调子类和父类,子类父类都有的时候,在子类中调用父类

多继承

  1. 一个类有多个父类,在调用父类方法的时候,按照继承顺序,先继承的先寻找

转载于:https://www.cnblogs.com/wang-xing-hao/p/11172703.html

你可能感兴趣的文章
一步步教你学会browserify
查看>>
Jmeter入门实例
查看>>
亲近用户—回归本质
查看>>
中文脏话识别的解决方案
查看>>
CSS之不常用但重要的样式总结
查看>>
Python编译错误总结
查看>>
URL编码与解码
查看>>
日常开发时遇到的一些坑(三)
查看>>
Eclipse 安装SVN插件
查看>>
深度学习
查看>>
TCP粘包问题及解决方案
查看>>
构建之法阅读笔记02
查看>>
添加按钮
查看>>
移动端页面开发适配 rem布局原理
查看>>
Ajax中文乱码问题解决方法(服务器端用servlet)
查看>>
会计电算化常考题目一
查看>>
阿里云服务器CentOS6.9安装Mysql
查看>>
剑指offer系列6:数值的整数次方
查看>>
js 过滤敏感词
查看>>
poj2752 Seek the Name, Seek the Fame
查看>>