OC学习--面向对象的个人理解
1. 什么是面向对象?
以下一段话是我在百度上找的解释:
面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术[1] 发展到一定阶段后的产物。
一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。通过面向对象的方法,更利于用人理解的方式对复杂系统进行分析、设计与编程。同时,面向对象能有效提高编程的效率,通过封装技术,消息机制可以像搭积木的一样快速开发出一个全新的系统。面向对象是指一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的集合。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。
缩减一下:
面向对象(Object Oriented,OO)是一种对现实世界理解和抽象的方法,将现实世界的事物抽象成对象,将现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模,以便于让人以理解的方式对复杂系统进行分析、设计与编程.
在缩减一下:
2.面向对象与面向过程的思想
面向对象和面向过程是编程的两种思考方式.
>面向对象: 简称OOP(object-oriented programming), 它是以"事物"为中心, 参与事件的"事物"是核心, 完成事件 只是"事物"的 一个小任务.
>面向过程: 简称OPP(porocedure-oriented programming), 它是以"事件"为中心, 列出了完成"事件"的每一个"步骤", "一步一步"完成
(1)面向对象和面向过程的区别
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
(面向过程关注的是解决问题需要那些步骤)
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为
(面向对象关注的是解决问题需要需要哪些对象)
以用电脑放歌为例:
1>面向过程
打开电脑
播放电脑中的歌曲
关闭电脑
2>面向对象
电脑
开机
播放歌曲(作为名词)
关机