面向对象是什么?

Posted 跋扈洋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象是什么?相关的知识,希望对你有一定的参考价值。

面向对象是什么?

介绍

客观世界中任何一个事物都可以看成一个对象,每个对象有属性和行为两个元素。属性就是对象的内部状态及自身的特点,行为就是改变自身状态的动作。

特点

面向对象有三个特点,即封装、继承和多态。

封装

封装有两个作用。一个是将不同的小对象封装成一个大对象,另一个是把一部分内部属性和功能对外界屏蔽。

继承

继承是和类密切相关的概念。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新内容。
继承性是面向对象程序语言不同于其他语言的最重要的特点,是其他语言所没有的。采用继承性,使公共的特性能够共享,提高了软件的重用性。

多态

多态性是指相同的行为可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。多态性允许每个对象以适合自身的方式去响应共同的消息。

对比

面向过程编程有复杂的数据结构、复杂的组合逻辑、详细的过程和数据之间的关系、高深的算法,面向过程开发的程序可以描述成算法加数据结构。面向过程开发是分析过程与数据之间的边界在哪里,进而解决问题。面向对象则是从另一个角度思考,将编程思维设计成符合人的思维逻辑。
面向对象程序设计者的任务包括两个方面:一是设计所需的各种类和对象,即决定把哪些数据和操作封装在一起;二是考虑怎样向有关对象发送消息,以完成所需的任务。这时它如同一个总调度。不断地向各个对象发出消息,让这些对象活动起来,使他们完成自己职责范围内地工作。
各个对象地操作完成了,整体任务也就完成了。显然,对一个大型任务来说,面向对象程序设计方法是十分有效地,它能大大降低程序设计人员地工作难度,减少出错机会。

后续

如果想了解更多物联网、智能家居项目知识,可以关注公众号。

编写不易,感谢支持。

以上是关于面向对象是什么?的主要内容,如果未能解决你的问题,请参考以下文章

当对象只有最终字段时,如何编写递归方法来生成算术序列?

关于java面向对象实例的解释 如下例

Python面向过程编程

Java oop

Java之面向对象概述,类,构造方法,static,主方法,对象

思考:为什么要设计equals()方法?