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