• 初始面向对象-总结


    # class 类名(父类1,父类2):#类名首字母大写
    # 静态属性 = '' # 静态属性 类属性
    # def __init__(self): # 初始化方法
    # self.name = 'alex'
    #
    # def func(self): # 动态属性 方法
    # print(self.age)可以使用外部添加的age属性
    # 对象 = 类名()
    # 对象.方法名()
    # 对象.属性名
    # 对象.name
    # 对象.age = 18 外部增加一个属性
    # 对象.func() #类名.func(对象)
    # 组合 :表达的是 什么有什么的关系 #*****
    # 一个类的属性 是另外一个类的对象
    # class Teacher:
    # pass
    # class Course:
    # def __init__(self,name,price,period):
    # self.name = name
    # self.price = price
    # self.period = period
    # python = Course('python',19800,'6 months')
    # class Classes:
    # def __init__(self,name,course):
    # self.name = name
    # self.course = course
    # # self.course_name = 'python'
    # pys9 = Classes('python_s9',python)
    # print(pys9.course.name)
    # python.name = 'python全栈'
    # print(pys9.course.name)

    # 命名空间 : 类和对象分别存在不同的命名空间中

    # 面向对象的三大特性 : 继承 多态 封装
    # 继承 :
    # 单继承 : ****
    # 父类(超类、基类)
    # 子类(派生类):派生方法和派生属性
    # 子类的对象在调用方法和属性 : 先用自己的 自己没有 才用父类的
    # 多继承 :(面试)
    # 不会超过三个父类,不要超过三层 ***
    # 如果子类自己有用自己的,如果没有就用离子类最近的那个父类的方法
    # 抽象类和接口类 **
    # 经典类和新式类 继承规则不同 深度优先和广度优先 ***** (面试)
    # super 只能在python3中使用 mro ****
    #super是根据mro广度优先顺序找上一个类
    # 多态 : (面试)
    # 多态和鸭子类型
    # 封装 : *** (面试)
    # 私有的
    # __名字
    # 只能在类的内部调用 子类都无法继承
    # 三个装饰器
    # @property **** 规范 面试 #@name.setter
    # @staticmethod ***
    # @classmethod ***** 当一个方法只使用了类的静态变量时 就给这个方法加上@classmethod装饰器,默认传cls参数

    # class Goods:
    # __discount = 0.8
    # @classmethod
    # def change_discount(cls):
    # cls.__discount = 0.5
    # Goods.change_discount()

























  • 相关阅读:
    Android学习路径(两)项目文件本身使用场景和文件演示
    A左右ndroid正在使用Uri监视数据库中的更改
    离PACKET_INp获取信息acket data
    curl 命令
    POJ 3177 Redundant Paths POJ 3352 Road Construction(双连接)
    Linux 下一个 Mysql error 2002 错误解决
    图片打水印 缩放 和一个输入流的转换
    qt Qt5开发
    qt 关于Qt中MVC的介绍与使用
    qt mvc3
  • 原文地址:https://www.cnblogs.com/mys6/p/10666708.html
Copyright © 2020-2023  润新知