面向对象总结

面向对象总结:
面向对象的3大特征:封装、继承、多态

定义类的总结:
0- 有多种选择的时候,进入公司后,可能每个小组的编程风格不一样,根据小组风格调整,一般会有代码规范
1- 类的命名:大驼峰命名法。所有单词首字母都大写
2- 所有类的顶级父类,默认是object,可写可不写,一般不写。

魔法方法总结:
1- 常用__init__、strdel
2- 命名这块,前后都需要有下划线
3- init:对类的实例对象进行初始化操作,或者对一些公共资源进行初始化,例如:文件打开、数据库的连接
4- str:一般用来对类的实例对象进行格式化输出,返回值类型必须是string。打印对象,默认打印的是内存地址值
5- del:在实例对象被删除(通过del)或者被自动销毁(程序运行结束)的时候会调用。一般是用来释放资源

关键字总结:
1- self关键字:它代表是对应的实例对象。不需要手动传值,由python解释器进行赋值
2- cls关键字:在类方法中出现的。它代表的是类

封装总结:
1- 我们进行类的定义、方法的定义,这些操作,都称之为封装
2- 封装里面的私有权限,用来对外部屏蔽类内部的底层细节,不对外暴露
3- 分为私有属性和私有权限。命名的时候在前面使用__,用来表示私有
4- 私有属性和方法,正常只能在类的内部访问
5- 私有属性和方法,可以通过保留方式在类的外部访问。也就是 实例对象名称._类名__私有属性和方法。该方式不推荐

继承总结:
1- 继承:子类从父类中获得相关的方法和属性,该过程称之为继承。不能继承私有属性和方法
2- 继承分类:单继承、多继承、多层继承
3- 继承之后,子类可以重写父类的方法。一般什么情况下会重写?子类需要加强或者改造方法的时候
4- 在子类方法里,调用父类的方法,可以通过如下三种方式:
4.1 (推荐)父类类名.方法名(self,实参1,实参2…)
4.2 super(父类类名,self).方法名(实参1,实参2…)
4.3 super().方法名(实参1,实参2…)
5- 多继承的顺序关系
class A:
class B(A):
class C(A):
class D(B, C):
上面代码的继承关系,【从D的角度出发】,D>B>C>A

多态总结:
1- 多态的含义:多态就是让不同的对象对同一方法有不同的表现

类中的方法总结:
1- 分类:实例方法、类方法、静态方法
2- 实例方法:所有实例对象都能够调用的方法
3- 类方法:
3.1- @classmethod的装饰器。
3.2- 调用的时候,推荐使用类名进行调用。不推荐使用实例对象名进行调用
3.3- 类方法里面只能操作类属性
4- 静态方法:
4.1- @staticmethod的装饰器
4.2- 调用的时候,推荐使用类名进行调用。不推荐使用实例对象名进行调用
4.3- 静态方法里面不能操作任何类型的属性

你可能感兴趣的:(python)