面向过程编程,面向对象编程,函数式编程只是一种编程范式/思想
面向过程 核心是过程二字
构成就是流水线
整个思想本质上就是将程序流程化
优点:将程序流程化进而将程序的设计变得简单化
缺点:可扩展性差
面向对象 核心是对象二字
对象就是容器,用来盛放数据与功能 列表 字典 文件
整个思想就是将程序进行高度的整合
优点:提升程序的解耦合程度,进而增强程序的可扩展性
缺点:设计复杂
面向对象编程:1.类即类别种类,是面向对象分析和设计的基石,如果多个对象有相似的数据与功能,那么该多个对象就属于同一种类。
2.在程序中,必须要事先定义类,然后再调用类产生对象(调用类拿到的返回值就是对象)。产生对象的类与对象之间存在关联,这种关联指的是:对象可以访问到类中共有的数据与功能,所以类中的内容仍然是属于对象的,类只不过是一种节省空间、减少代码冗余的机制,面向对象编程最终的核心仍然是去使用对象。
实例化:调用类的过程我们称之为实例化,拿到的返回值就是程序中的对象,或称为一个实例
方法:.__dict__来查看类这个容器内盛放的东西
评判软件优劣的点并不仅仅包括可扩展性
函数式编程lambda
类里面函数写input交互?
关联连接在类的外部?
封装是面向对象三大特性的最核心的的一个特性
封装<->整合
将封装的属性进行隐藏:__数据名,这种隐藏实质上就是一种变形
隐藏是为了什么?隐藏首先是为了调用方便,其次也是一定的数据保护,单着并不意味着不给用户调用,因此我们需要提供接口
接口:内部调用不会被隐藏,所以可以提供接口给用户使用,同时可以再上面加一些逻辑