面向对象编程
面向对象介绍
面向过程编程:
面向过程编程核心是过程二字,过程指的是解决问题的步骤,基于该编程思想写程序,就好比设计一条工厂流水线,即先做什么再做什么。
优点:
复杂的问题简单化,流程化
缺点:
可扩展性差
面向对象编程:
面向对象编程,核心是对象二字,好比创造世界,一种上帝式思维
优点:
可扩展性强
缺点:
较面向过程编程,编写难度较高
类
类指的是类别,类型。在程序中,必须先有类,再通过‘调用类,产生对象’。
类是‘对象之间相同的特征与技能’,对象是‘技能与特征’的结合体。
定义类:
先从现实世界中通过一个个对象总结出类(相同的特征与技能)。然后再定义类,后再掉用类产生对象。
语法:
驼峰体命名法----》Class 类的名字:
类提供一种特殊获取名字的方式,‘类名.名字‘的方式
增
类名.属性=属性值
print(类名.属性=属性值)
删
del 类名.属性
查
print(类名.属性)
类名.技能(' ')
改
(这里其实是利用了对象的查找顺序,先找到自己,则不回去类里面寻找)
类名.属性='属性值'
名称空间
函数的名称空间:在调用函数时产生,调用结束后销毁
类的名称空间:在定义阶段产生,会将所有类中的所有名字,扔进类的名称空间中
对象
调用类产生对象
类名+()调用类产生对象
类的名称空间在定义时产生,对象的名称空间在调用时产生,调用类产生对象的过程称之为类的实例化,对象称之为类的一个实例.
对象的绑定方法:
由对象来调用类内部的函数,称之为对象的绑定方法.
对象的绑定方法特殊之处:
会将对象当做第一个参数传给该方法.
注意:凡是在类内部定义的–开头或者–结尾的方法都有特殊意义.
在类内部定义的方法,在调用时触发,会将对象本身当作第一个参数自动传入,与括号内所有的参数一并传给–init–()
对象名字的查找顺序
对象.属性,会先查找自己—>若没有,则会去找类的—>若类没有,报错
一切皆对象
产生对象:
调用类产生对象的过程称之为类的实例化,对象称之为类的一个实例.