• 面向对象(三)


    组合

    组合是指的是一个对象中的属性,时另一个对象.

    组合的目的和继承一样,为了减少代码冗余

    封装

    封装指的是把一堆属性(特征与技能)封装到一个对象中.

    存数据的目的是为了取,对象可以对象"."属性的方式获取属性.

    访问机制

    在类内部定义,凡是以_开头的数据属性与方法属性,都会被python内部隐藏起来,让外部不能"直接"访问内部的__开头的属性

    一推隐藏的属性与不能被外部轻易访问的属性,可以隐藏起来,不被外部直接调用.

    property

    定义:python内置的装饰器,主要是给内部的方法使用.

    在对象调用某个方法时,将对象,方法()变成对象.方法(看起来像一个普通的数据类型)obj.bim() == obj.bmi

    使用方法

    @property

    def 内部的方法(self)

    多态

    定义:多态指的是一类事物有多种形态

    例如:

    动物有多种形态:人,狗,猪

    import abc
    class animal(metaclass=abc.ABCMeta):
        @abc.abstractmethod
        def talk(self)
            pass
    
    class People(A
                 nimal):
        def talk(self):
            print('say hello')
            
     class Dog(Animal):
        def talk(self):
            print('say wangwang')
    
    class Pig(Animal):
        def talk(self):
            print('say aoao')

    文件有多种形态:文本文件,可执行文件

    import abc
    class file(metaclass=abc.ABCCMeat):
        @abc.abcstractmethod
        def click(self):
            pass
    
    class Text(file):
        def click(self):
            peint('openn file')
            
    class ExeFile(File):
        def click(self):
            print('excute file')
    目的:

    多态的目的是为了,让多种不同类型的对象,在使用相同功能的情况下,调用同一个名字的方法名.

    父类:定义一套统一的标准.

    子类:遵循父类的统一标准.

    如何实现:

    ---继承父类

    ---继承抽象类

    ---鸭子类型

    抽象类的目的

    强制子类必须遵循父类的一套标准.

    鸭子类型

    在不知道当前对象是何物的情况下,但是你得长得像鸭子,那么你就是鸭子类型

    继承:

    耦合性太高,程序的可扩展性差

    鸭子类型:

    耦合度低,程序的可扩展性强

    我把月亮戳到天上 天就是我的 我把脚踩入地里 地就是我的 我亲吻你 你就是我的
  • 相关阅读:
    django:开发一个下载图片的接口
    django:cbv模式和fbv模式的区别
    java生成二维码/java解析二维码
    java如何台生成二维码详解
    html5 WebSocket的Js实例教程
    vue 组件传参
    Vue路由注意事项
    Vue全家桶
    浅谈vue对seo的影响
    vue打包详情
  • 原文地址:https://www.cnblogs.com/zhulipeng-1998/p/12863944.html
Copyright © 2020-2023  润新知