面向对象程序设计
面向过程:C语言
什么时面向对象?
所谓面向对象,其实就是说:站着上帝的视角下,世界万物一切皆对象。把拥有共同的属性归为一类,这就是class的由来。
类的定义:
类的首字母必须是大写
关键字:class
类的名称首字母必须是大写的
类里面有哪些东西?
1、属性
2、方法(其实就是之前学习过的函数)
类里面的属性以及方法,调用的前提是首先要对类进行实例化处理
for example:
object是所以类的父类,可以说是类的祖先
self指的是类本身自己
类进行实例化的过程中会必须调用__init__方法
函数写起来简单,方法比较写起来比较难
对数据属性而言你,使用类以及类对象调用,他的内存地址是一样的
调用方法执行顺序:
1、执行构造方法
2、执行真正的调用方法
3、执行构造方法
有几个”对象“初始化和清理几个"对象"
方法(method)
1、普通方法,如show(),info()
2、特性方法,只具备只读属性,不能写(指的这个方法里面不能有形式参数)因为调用特性方法的时候,没有(括号)
3、静态方法:理解为全局变量,但是不能等价于全局变量,静态方法的特点是使用类名直接调用,静态方法里面不能够调用实例属性
@property#装饰器
__init__:初始化
__del__:清理
普通方法
特性方法
静态方法
Python 三大特性
封装
继承
继承
Java于Python的继承区别:
1、Python是一个类可以继承N个类
2、Java只能继承一个类
继承的概念:
1、基类(父类):就是被继承的类
2、派生类(子类):就是继承其他的类
子类继承父类,继承了什么?
1、数据属性
2、实例属性
3、方法
继承的原则:
1、从左到右(他的规则是子类
2、从下到上 前提条件:子类重写了父亲的方法,那么调用父类以及子类共同拥有的方法的时候,优先调用子类自己的方法
方法重写:
当父类没办法满足子类的需求的时候,那么子类就会重写父类的方法