Android入门基础:什么是面向对象编程

面向对象程序设计与结构化程序设计都是设计和构造程序的方法。近年来面向对象程序设计的方法越来越受到人们的重视,成为解决软件危机的新途径,而结构化程序设计方法的使用在逐渐减少。几乎每一种最新推出的程序开发工具或语言都采用了面向对象程序设计的思路,面向对象程序设计形成了一套与结构化程序设计具有很大差异的方法。
结构化程序设计方法又称面向过程设计方法,起源于 20 世纪 70 年代。在这之前的程序设计基本采用过程式程序设计,虽然汇编语言已经取代了机器语言,但是对于一般的程序设计人员而言,它还是太抽象、太隐晦了。如果计算机要得到更大的发展,必须发明一些比汇编语言更易于阅读、编写的程序语言。在这种需求的刺激下,结构化程序设计方式产生了机构化程序设计,主要特点是采用自顶向下、逐步求精的程序设计方法:使用 3 种基本控制结构构造程序,任何程序都可由顺序、选择、重复 3 种基本控制结构构造。结构化设计的根本目标就是把复杂的系统分解成简单模块的层次结构。例如,你要装修房子,以前的过程式程序设计要求你必须从客厅开始装修,然后是卧室、厨房、卫生间,顺序不能颠倒,客厅没装好之前,休想踏进你的卧室半步。而结构化程序设计方式将你的客厅、卧室、卫生间、厨房都独立成一个模块,互相之间可以互不干扰地进行。
虽然结构化程序设计解决了软件设计开发中的一部分问题,但是它仍然存在不足。用结构化方法开发的软件,其稳定性、可修改性和可重用性都比较差,这是因为结构化方法的本质是功能分解,从代表目标系统整体功能的单个处理着手,自顶向下不断把复杂的处理分解为子处理,这样一层一层地分解下去,直到仅剩下若干个容易实现的子处理功能为止,然后用相应的工具来描述各个最低层的处理。因此,结构化方法是围绕实现处理功能的“过程”来构造系统的。然而,用户需求的变化大部分是针对功能的,因此,这种变化对于基于过程的设计来说是灾难性的。用这种方法设计出来的系统结构常常是不稳定的,用户需求的变化往往造成系统结构的较大变化,从而需要花费很大代价才能实现这种变化。
结构化程序设计的局限性催生了面向对象的思想。面向对象( OO )并不是一个新概念,它在 20 世纪 70 年代就出现了,但是,因为受到软 / 硬件的限制,直到 90 年代,它才为大众所接受并成为程序设计的主流思想。面向对象的方法与结构化的程序设计根本区别在于把系统看成一起工作来完成某项任务的对象集合,而对象是系统对消息做出响应的事物,所以面向对象方法中最值得关注的不是它应该做什么,而是它如何做出反应,也就是消息,这是和结构化设计的根本不同。
在面向对象的设计思想指导下,产生了第一个面向对象的语言―― 20 世纪 60 年代的 Simula-67 。它的目的是解决模拟问题。一个典型的应用是模拟银行系统的运作(银行是最早采用计算机的行业之一),将银行的出纳部门、客户、业务等实体模拟成一个个的对象,把这些在程序的运行中除了状态外其他方面都一样的对象归纳在一起,就成了更高抽象层面的“类”。在面向对象思想指导下产生了成功的面向对象编程语言―― Smalltalk 。并且,在此基础上又诞生了应用更加广泛的面向对象编程语言―― C++ Java
------------------------华清远见Android培训内部资料-----------------------------

你可能感兴趣的:(java,C++,android,面向对象编程)