2019年7月25日 类的继承 1

面向对像: 继承,多态,封装

class ParentClass1:
    pass

class ParentClass2:
    pass

class SubClass(ParentClass1):#单继承
    pass

class SubClass2(ParentClass1,ParentClass2):#多继承
    pass

子类定义的属性如果喝父类属性重名了,则优先调用子类的,没有覆盖这一说

什么时候用继承:

1.当类中有显著不同,并且较小类事较大类所需要的组件时,用组合。

2.当类中有许多相同功能,提取这些共同的功能做成基类,用继承。

继承同时具有两种含义:

1.继承与派生:减小代码重用。(不独立,不推荐)

2.声明某个子类兼容某基类,定义一个接口类,子类继承接口类,并且实现接口中定义的方法。(vip 推荐)

class Dad:
    money=10
    def __init__(self,name):
        print(‘Dad‘)
        self.name=name

    def hit_son(self):
        print(‘%s 正在hit son‘%self.name)

class Son(Dad):
    money=55 #优先调用子类的,但不是覆盖

s1=Son(‘sxj‘)#son继承类dad的属性方法,dad存在需要传递参数 name
print(s1.money,s1.name,Dad.money)
s1.hit_son()

》》》》

Dad
55 sxj 10
sxj 正在hit son

接口继承:归一化设计。做出一个良好的抽象,这个抽象规定了一个兼容接口。

import abc #接口继承强制子类起到限制作用
class All_file(metaclass=abc.ABCMeta):#接口继承:定义父类,规定必须有read 和 write 方法,父类可以不实现,子类中但必须要有这2个方法
    @abc.abstractclassmethod#下面但抽象方法(强制子类必须有read和write方法)
    def read(self):
        pass

    def write(self):
        pass

class Disk(All_file):
    def read(self):
        print(‘Disk read‘)
    def write(self):
        print(‘Disk write‘)

class CDrom(All_file):
    pass

class Mem(All_file):
    pass

d1=Disk()
d1.read()
d1.write()

》》》

Disk read
Disk write

原文地址:https://www.cnblogs.com/python1988/p/11246648.html

时间: 2024-11-02 16:51:28

2019年7月25日 类的继承 1的相关文章

2019年5月25日-linux就该这么学-第10课

第8章 iptables 与firewalld防火墙 8.0 四种设置网卡的方式(1) 命令行模式:vim /etc/sysconfig/network-scripts/ifcfg-eno网卡号:(2) 图形化界面:nmtui:(3) 图形化界面:nm-connection-editor:(4) 图形化界面:虚拟机界面右上角网络配置:配置好后,注意:(1) onboot=yes一定要启用:(2) 要重启网络才启效:systemctl restart network. 8.1 防火墙管理工具:防火

(面试题)内部类(2019年10月25日)

1.Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口? 可以继承其他类或实现其他接口,在Swing编程和Android开发中常用此方式来实现事件监听和回调 2.为什么内部类调用的外部变量必须是final修饰的? 因为生命周期的原因.方法中的局部变量,方法结束后这个变量就要释放掉,final保证这个变量始终指向一个对象.首先,内部类和外部类其实是处于同一个级别,内部类不会因为定义在方法中就会随着方法的执行完毕而跟随者被销毁.问题就来了,如果外部类的方法中

内部类(2019年10月25日)

java文件里面必须有且只有一个public的class,并且名字跟文件名一样, 如果一个文件有很多类,而且每个类前面都没写public ,那么会在和类名相同的类前默认加上一个public 1 Outer o= new Outer(); 2 Inner i= o.new Inner(); 3 i.method(); //等同于 Inner i= new Outer().new Inner(); 内部类分为:成员内部类,静态内部类,临时内部类,匿名内部类 成员内部类:地位就相当于类中的属性,在编译

2019年7月25日 shell练习--PAT题目1006:换个格式输出整数(失败案例)

让我们用字母 B 来表示“百”.字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<),换个格式来输出任一个不超过 3 位的正整数.例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”.3 个“十”.以及个位的 4. 输入格式: 每个测试输入包含 1 个测试用例,给出正整数 n(<). 输出格式: 每个测试用例的输出占一行,用规定的格式输出 n. 输入样例 1: 234 输出样例 1: BBSSS1234 输入样例 2: 23 输出样例 2: SS123 这

2019年9月22日 类的装饰器

装饰器本身就是函数 回顾: def deco(func): print('>>deco>>') return func @deco # 做了 这么一件事情:test=deco(test) def test(): print('testing') test() >>>>>> >>deco>>testing def deco(obj): print('>>deco>>',obj) obj.x=1 obj

2019年 10月 25日 杨爱桁 专业英语课后总结

第一层:物理层 第二层:链路层    以太网协议     mac地址 第三层:网络层:ip数据包    ip协议     ip地址分成两部分 ARP协议     子网掩码 第四层:端口    tcp协议   udp协议 原文地址:https://www.cnblogs.com/yangaiheng/p/11739783.html

2016年11月25日--封装和继承

.cs类 - 就像一个文本文档,里面就是放置C#代码 访问修饰符 - 4个public - 公共的,任何地方都可以访问,但是需要引用 命名空间private - 私有的,类的内部才可以访问 internal - 内部的,默认的,程序集中可以访问,程序集就是命名空间protected - 被保护的,类的内部和类的父类和子类中可以访问 构造函数 - 创建一个类的函数 每一个类都有构造函数,访问修饰符必须是public的,并且不需要写任何返回值,方法名与类名一致 自己写的类 - 用户自定义类型如果要使

33.《高血压看这本就够了》摘录-陈罡——2019年12月22日

.bodyContainer { font-family: Arial, Helvetica, sans-serif; text-align: center; padding-left: 32px; padding-right: 32px; } .notebookFor { font-size: 18px; font-weight: 700; text-align: center; color: rgb(119, 119, 119); margin: 24px 0px 0px; padding:

13家中国域名商(国际域名)解析量报告(8月25日)

IDC评述网(idcps.com)08月28日报道:根据DailyChanges公布的实时数据显示,截止至2015年8月25日,国内域名解析量前十三强排名,环比上期,无变化.中国万网.DNSPod与新网坚守三甲席位,解析量分别为2,949,626.1,912,338.1,115,463个.华夏名网排名居末,解析量不足10万.下面,请看IDC评述网整理的详细数据情况. (图1)中国域名解析商(国际域名)解析量排行榜TOP13分布图 通过图1,可知截止至2015年8月25日,国内域名解析量十三强较量