面向对象,里面的“面向”是什么意思呢,“面向”的意思就是面对着,面向对象,就是你看到的都是对象,比如你做一顿午饭,面向对象的就是:盖浇饭,茶水
面向过程的话就是:炒饭+米饭+炒菜
所以这里的面向,是程序员面向,从程序员视角看到的世界,如果看到的是一个个对象,那就是面向对象,如果看到的是一个个过程,就是面向过程.。
一,什么是对象,对象的本质是什么
在Python中,对象的本质是引用。对象是一种封装数据和操作数据的方法的方式。它们是通过创建类实例来创建的,这些实例具有相同的属性和方法。
Python中的对象是基于引用语义的,即对象的本质是引用。这意味着当我们在程序中创建一个对象时,Python会为该对象分配内存空间,并返回一个指向该对象的引用。这个引用可以被视为指向对象的指针。
通过对象引用的方式,我们可以调用对象的方法来执行特定的操作,并且可以访问和修改对象的属性。这种封装和抽象的方式使得代码更加模块化和可重用。
此外,Python中的对象还支持动态类型和多态性,这意味着我们可以在运行时动态地创建和操作对象,并且可以使用不同的类型来实例化同一个类。这种灵活性使得Python成为一种非常强大的编程语言,可以轻松地处理复杂的问题。
二,什么是面向对象
面向对象(Object Oriented, OO)是一种软件开发方法,它以“对象”为中心,把数据和对数据的操作封装在一起,作为一个独立的实体(即对象),通过类来创建对象,通过对象之间的交互来实现程序的功能。
这种编程思想借鉴了现实世界中的人与客观世界的交互方式,将客观世界中的事物抽象为“对象”,并将它们封装起来以实现代码的重用和模块化。
在面向对象的程序设计中,对象是程序的基本构成单元,它们具有独立的属性(数据)和行为(方法)。对象之间通过消息传递(发送和接收)来交互,以实现程序的功能。
面向对象编程具有以下特点:
- 封装性:对象将数据和操作封装在一起,隐藏内部实现细节,只通过对象接口与外部交互。
- 继承性:通过继承实现代码重用,子类可以继承父类的属性和方法,并可以添加自己的特性。
- 多态性:同一消息可以发送给不同对象,产生不同的结果,实现一种形式上的“一个接口多种方法”的机制。
- 抽象性:通过抽象类和接口定义通用行为和接口,具体的实现细节由子类来实现。
- 代码的可重用性和模块化:通过继承和多态实现代码重用,通过模块化实现代码的模块化。
总之,面向对象是一种以对象为基础的编程思想,它借鉴了现实世界中人与客观世界的交互方式,将客观世界中的事物抽象为“对象”,并通过对象之间的交互来实现程序的功能。这种编程思想具有封装性、继承性、多态性、抽象性和模块化等特点,是当前软件开发领域的主流技术之一。