一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第11天,点击查看活动详情。
介绍
客观世界中任何一个事物都可以看成一个对象,每个对象有属性和行为两个元素。属性就是对象的内部状态及自身的特点,行为就是改变自身状态的动作。
特点
面向对象有三个特点,即封装、继承和多态。
封装
封装有两个作用。一个是将不同的小对象封装成一个大对象,另一个是把一部分内部属性和功能对外界屏蔽。
继承
继承是和类密切相关的概念。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新内容。
继承性是面向对象程序语言不同于其他语言的最重要的特点,是其他语言所没有的。采用继承性,使公共的特性能够共享,提高了软件的重用性。
多态
多态性是指相同的行为可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。多态性允许每个对象以适合自身的方式去响应共同的消息。
对比
面向过程编程有复杂的数据结构、复杂的组合逻辑、详细的过程和数据之间的关系、高深的算法,面向过程开发的程序可以描述成算法加数据结构。面向过程开发是分析过程与数据之间的边界在哪里,进而解决问题。面向对象则是从另一个角度思考,将编程思维设计成符合人的思维逻辑。
面向对象程序设计者的任务包括两个方面:一是设计所需的各种类和对象,即决定把哪些数据和操作封装在一起;二是考虑怎样向有关对象发送消息,以完成所需的任务。这时它如同一个总调度。不断地向各个对象发出消息,让这些对象活动起来,使他们完成自己职责范围内地工作。
各个对象地操作完成了,整体任务也就完成了。显然,对一个大型任务来说,面向对象程序设计方法是十分有效地,它能大大降低程序设计人员地工作难度,减少出错机会。
编程思想不同:1、面向过程:是一种以过程为中心的编程思想。都是以什么正在发生为主要目标进行编程。2、面向对象语言:是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。