zoukankan      html  css  js  c++  java
  • python day100-[day1-15]-2 类

    • 类之间的关系
    简单的说,类和类之间的关系有三种:is-a、has-a和use-a关系。
    
    【1】is-a关系也叫继承或泛化,比如学生和人的关系、手机和电子产品的关系都属于继承关系。
    
    【2】has-a关系通常称之为关联,比如部门和员工的关系,汽车和引擎的关系都属于关联关系;关联关系如果是整体和部分的关联,那么我们称之为聚合关系;如果整体进一步负责了部分的生命周期(整体和部分是不可分割的,同时同在也同时消亡),那么这种就是最强的关联关系,我们称之为合成关系。
    
    【3】use-a关系通常称之为依赖,比如司机有一个驾驶的行为(方法),其中(的参数)使用到了汽车,那么司机和汽车的关系就是依赖关系。
    
    • 抽象类-抽象方法 @abstractmethod
    from abc import ABCMeta, abstractmethod
    
    
    class Pet(object, metaclass=ABCMeta):
        """宠物"""
    
        def __init__(self, nickname):
            self._nickname = nickname
    
        @abstractmethod
        def make_voice(self):
            """发出声音"""
            pass
    
    
    class Dog(Pet):
        """狗"""
    
        def make_voice(self):
            print('%s: 汪汪汪...' % self._nickname)
    
    • 判断两个类型是否相同
    判断两个类型是否相同推荐使用 isinstance()
    
    isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()
    
    isinstance() 与 type() 区别:
    
        type() 不会认为子类是一种父类类型,不考虑继承关系。
    
        isinstance() 会认为子类是一种父类类型,考虑继承关系。
    
    
  • 相关阅读:
    day3 数据类型
    子查询
    mysql综合练习题
    day5 练习
    月末总结
    Iconfont-阿里巴巴矢量图标库
    vue简介
    Redis简介和数据结构
    浏览器初始化css
    vue脚手架搭建项目初始化
  • 原文地址:https://www.cnblogs.com/damahuhu/p/12304180.html
Copyright © 2011-2022 走看看