面向对象基础

面向过程编程

核心是“过程”二字,过程指的是做事情的步骤,即先做什么再做什么
基于该编程思想编写程序,就好比一条工厂流水线,一种机械式的思维方式。
优点:
  逻辑清晰,复杂的问题流程化,进而简单化。

缺点:
  可扩展性差。

面向对象编程

核心是“对象”二字,对象指的是特征与技能的结合体。
基于该编程思想编写程序,就好比在创造世界,一种上帝式的思维方式。

优点:
  可扩展性高。

缺点:
  编写程序的复杂程度要远高于面向过程编程思想。

优先使用面向过程还是面向对象?
面向过程结合面向对象一起使用。

什么是类

类是一系列对象相同的特征与技能的结合体。

先定义类,后调用类产生对象。

- 在现实世界中:
  对象是一个个具体存在的事物,类是由人类文明的发展抽象总结出来的。

- 在程序中:
  必须遵循,先有类,再有对象。

如何定义类:
1.先从现实世界中,基于一个个的对象,抽取出类。
2.再定义类。

定义类的语法:
def 函数名():

class 类名:
对象相同的特征
对象相同的技能

class: 用来定义类的,class后跟的是类名。
类名: 类的名字,用来调用创造对象的。

注意: 类名必须要遵循驼峰命名法,python在定义变量与函数时不推荐使用,但在定义类时推荐使用。

在定义类发生的事情:
1.类在定义时,会产生一个空的名称空间。
2.会把类内部所有名字,扔进类的名称空间中。
注意: 类在定义阶段就已经产生好了名称空间,执行python文件时会执行类内部的代码。

如何产生对象

对象是特征与技能的结合体

语法:
类名 + () 调用类产生对象。

名称空间的产生:
1.类的名称空间在类定义阶段就已经产生了。
2.对象的名称空间,在调用类时产生。

对象与类的查找顺序:
1.对象.属性,若对象本身有,则优先查找对象自己的。
2.若对象本身没有,则去类里面找,若类没有,则报错。


调用类发生的事情:
1.首先会产生一个空的对象,就是产生“对象的名称空间”。
2.会自动触发__init__。
3.会把对象本身以及括号内的参数一并传给__init__函数。
总结: 调用类会产生一个对象,调用类的过程叫做类的实例化,产生的对象称之为类的一个实例.


类内部的函数主要是给对象用的:

1.类调用类内部的函数,只是调用普通函数.

普通函数需要接收几个参数就得传入几个参数。


2.对象的绑定方法特殊之处:
  - 由对象来调用的,会把对象当作第一个参数传入该方法中
  - 由不同的对象来调用,就会把不同的对象传给不同的绑定方法.

 
原文地址:https://www.cnblogs.com/fjn839199790/p/11641977.html