面向对象
面向对象:
面向对象是一种编程思想,是解决问题的一种思路
面向对象,解决问题时关注的不再是解决问题的步骤和过程,而是更加注重是参与解决问题的对象以及他们的行为
优点:
生活还原度高,可以表述生活中所有事物,描述每种类型的事物的特征和行为,可以解决较为复杂的问题,功能的拓展性高
缺点:
在还原某些场景时,没有直接去解决问题,而是首先表示这些参与的对象类型,开始编写代码时较为复杂,准备时间较长,功能的稳定性相对不足,面向对象效率要低于面向过程
面向过程
也是一种编程思想,面向过程注重的是解决问题的步骤和过程,最直观的实现方式就是函数式编程,通过定义函数描述步骤,通过函数的调用完成过程的执行来解决问题
优点:
思路清晰,过程明确,解决问题的稳定性高
缺点:
功能依赖性太强,扩展性差
适用场景:
软件对于功能的稳定性比较高,对扩展性要求不是很高的情况下,可以选择面向过程
适用案例:
由于面向过程 代码和代码之间的依赖性太强(耦合度高),所以编写代码的时候必须对代码的前后关联关系非常了解,才能开发较为成熟的软件
服务类网站中的 客服聊天 稳定要求高[中小型软件或者功能开发
操作系统:对于运行稳定性要求非常高,对于功能的拓展要求不高
两者解决问题的核心:
面向过程解决问题的核心:解决问题的步骤
将关键的步骤封装成函数,通过函数控制运行流程
面向对象解决问题的核心:参与解决问题的对象
面向对象的最直观的体现是 类和对象 对象和对象行为的关系
面向对象的术语
类
将具有共同特征以及行为的一组对象进行抽象,抽象出来的东西,描述一类事物的概念
对象
实际存在的物体,包含了具体属性和方法的实体,这个事物是通过类创建创建出来的,属于一个类
属性
就是一个变量 可以存储数据 用于描述生活中一个事物的特征
比如:人的姓名 年龄 性别
方法
方法就是一个函数,当函数声明在类中,就成为方法,描述一个事物的行为
比如: 人的学习行为 健身行为 玩游戏的行为....
构造方法
通过指定的类创建对象的方法,通过构造方法可以按照我们的需要来创建对应类的对象
类和对象的关系
类和对象是计算机编程语言中的用于描述事物的载体。它们的关系是,对象是类的实例,类是对象的模板
类和对象的关系:类是对象的载体,对象是类的实例化
类的声明:class 类名:
类中的代码
构造方法:
__new__(cls) 创建对象 new方法必须要有返回值,返回实例出来的实例
__init__(self) 初始化属性,给对象属性赋值
创建对象时先调用的是new方法而后再调用的init方法
new()方法和__init__()方法的作用?
__init__()方法通常用于初始化一个新的实例,控制这个初始化的过程,比如添加一些属性,做一些额外操作,属于实例级别的方法
__new__()方法通常用于控制生成一个新实例的过程,是类级别的方法