标签:命名 名称空间 不同的 面向过程 编写程序 流程化 维护 优先 面向对象
面向对象基础:
1 什么是面向对象?
指的是一种编程思想
面向过程编程:
核心是‘过程’二字,过程指的是做事情的步骤,即先做什么后做什么
基于该编程思想编写程序,好比一条工厂流水线,一种机械式的思维方式。
优点:
逻辑清晰,复杂的问题流程化,进而简单化。
缺点:
可扩展性差。
面向对象编程:
核心是‘对象’二字,对象指的是特征与技能的结合体。
基于该编程思想编写程序,好比在创造世界,一种上帝式的思维方式。
优点:
可扩展性强,已于维护,
缺点:
编写程序的复杂程度远高于面向过程的编程。
优先使用面向对象还是面向过程?
面向过程结合面向对象一起使用。
实例:选课系统项目
如何造对象?首先需要学习类。
什么是类?
类型、类别、分类、
在现实世界中:
对象是一个个具体存在的事物,类是由人类总结出来的抽象概念。
在程序中:
必须遵循先有类再有对象。
如何定义类?
1、先从现实世界中,基于一个个的对象,提取出类。
2、再定义类。
对象:特征与技能的结合体
类:是一系列相同特征与技能的对象的结合体
如何定义类和对象:
先定义类,后调用类创造对象。
定义类的语法:
class 类名:
对象相同的特征
对象相同的技能
class SchoolStudent:
pass
class:用来定义类的,其后跟的是类名。
类名:类的名字,用来调用创造对象的。
注意:类名必须遵循驼峰命名法,python在定义变量和函数时不推荐使用驼峰体,但定义类时推荐使用驼峰体。
定义类发生的事情:
1、类在定义时,会生成一个空的名称空间
2、会把类内部所有的名字,放进这个名称空间
调用类发生的事情:
1、调用类时,即生成一个对象(实例化对象),同时生成此对象的的名称空间
2、会自动触发_ _ init _
3、会把对象本身以及括号内的参数一并传给 _ init _ _函数。
查找顺序:
调用对象查找属性时,先查找对象的名称空间,没有再查找类的名称空间
类:
相同的特征:--> 内部的变量
? 相同的技能:--> 内部的函数
类内部的函数主要是给对象用的:
1、由类来调用类内部的函数,该函数只是一个普通的函数,
函数需要几个参数就必须传入几个参数。
2、由对象来调用类内部的函数,函数称之为对象的绑定方法,
不同的对象调用该绑定方法,则会将不同的对象传入该绑定方法中
对象的绑定方法,是由对象来调用的
特殊之处是把对象当作第一个参数传给该绑定方法的self参数
修改:
类.特征或技能 的方式对类内部的名字进行修改。
‘.’会指向类内部的名称空间,从而获取名字
标签:命名 名称空间 不同的 面向过程 编写程序 流程化 维护 优先 面向对象
原文地址:https://www.cnblogs.com/allenchen168/p/11644217.html