黄色标记是理论重点哦!
面向对象的由来
在目前的软件开发领域有两种主要的开发方法,结构化开发和面向对象开发,早期的一些变成语如:C、Basic、Pascal等都是结构化编程语言,随着软件开发技术的不断发展,发现面向对象有更好的可重用性、可扩展性、可维护性,于是就产生了大量的面向对象编程语言。
结构化程序设计介绍
结构化程序设计主张的是根据功能来分析系统需求,原则是自顶向下、逐步求精、模块化等。结构化程序设计首先采用 结构化分析(Structured Analysis,简称SA) 方法对系统进行需求分析,然后 使用结构化设计(Structured Design,简称SD) 方法对系统进行概要设计,最后采用 结构化编程(Structured Programming,简称SP) 方法来实现系统。使用这种设计方式可以友好地保证开发进度和开发质量。
结构化程序设计的示意图:
三种基本结构
顺序结构
顺序结构表示程序中的各个操作都是按照它们在源代码中排列顺序,依次顺序执行。
选择结构
选择结构表示程序的处理根据符合特定的情况而 选择指定的分支来执行程序,选择结构有三种形式,分别是单选择结构、双选择结构、多选择结构。
单选择结构
如果程序a开始执行,中途碰到一个条件,当它符合这个条件是,则左拐执行程序,不符合情况下会继续向下执行,至终,到b执行完毕,这种结构就是单选择结构。
双选择结构
程序从a处执行,当触发条件时,这时候有两种结果,第一,符合这个条件往左执行,第二,不符合这个条件则往右执行,最终,又回到总分支上,到b处执行完毕,如图所示,这就是双选择结构。
多选择结构
程序有多种场景可以执行,根据条件只能选择某一种场景,符合某条件就选择某个场景,不符合则再走另一个条件,以此类推,条件越多,满足条件也就越苛刻,但最后都会走向b出口执行结束,这就是多选择结构
循环结构
有两种循环结构,分别是当型循环结构和直到型循环结构下面看详细解释。
当型循环结构
当程序a开始执行,当符合条件时继续回去执行,然后再走到同一个条件,一直循环,当某一次循环不符合条件时,再出程序b。这就是当型循环结构。
直到型循环结构
从入口a开始执行,执行一次程序(下图场景),然后判断是否符合条件,符合时再走一次,知直到条件不符合时候,才会走出程序(b),这就是直到型循环结构。
通过以上三种基本结构可以看出,结构化程序设计都有唯一的入口和出口,并且不会出现死循环。
面向对象介绍
面向对象是一种更加优秀的程序设计方法,它的思想本身是使用类、对象、封装、继承、消息、等基本概念进行程序设计,他是从现实生活中客观存在的事物出发构造的软件系统,尽可能用人类自然的思维方式去表达,以对象为中心,认清楚本质特点,抽象地将现实生活中的事物表现成类,作为一个基本构成的单元,使得软件系统客观地映射到现实中,并保持着客观世界中事物及其相互关系的本来面貌。采用面向对象的方式开发软件系统,最小的程序单元是类,这些类可以生成系统中的多个对象。
换一个很好理解的思维,假设需要组装一台电脑,如果你有显示器,键盘,主机,音响,鼠标,那么很容易就可以组装出来一台电脑。但是如果拿到的是二极管、电路主板的细小零件、CPU的某个线路,那么就没那么容易组装出来电脑,如果把这些细小的零件组装出来,封装成对象,就像那些大零件,显示器、主机、键盘、音响、鼠标等,组装起来是不是很容易呢?面向对象也是如此,有了面相对象,编程自然更容易。
面向对象的基本特征
面向对象共有三个特征:
- 封装(encapsulation)
- 继承(inheritance)
- 多态(polymorphism)
封装指的是将对象实现的细节隐藏起来,通过一些公用的方法暴漏出该对象的功能
继承是实现程序复用的一个重要手段,当子类继承父类后,子类将会直接获得父类的属性和方法
多态指的是子类的对象直接赋值给父类变量,运行时依旧保持子类的特征,同一个类型的对象在执行同一个方法时,可以表现出多种行为特征。
其它
- 对象是面向对象方法中最基本的概念,特点有:标识唯一性、分类性、多态性、封装性、模块独立性好!
- 类是具有共同属性、共同方法的一类事物,类是对象的抽象,对象则是类的实例,类是整个软件系统的最小程序单元,类封装各种信息细节,将其隐藏起来,通过公共的方法暴露出来提供的功能,从而提高类的内聚性,降低了对象之间的耦合性。
- 面向对象这种相互合作需要一个机制进行协助,这样的机制称为“消息”。消息是一个实例与另一个实例之间相互通讯的机制。
- 在面向对象方法中,类之间共享属性和操作的机制成为继承。继承具有传递性。继承可分为单继承和多继承,单继承指的是一个继承只允许有一个直接父类,即类等级为树形结构。多继承指的是一个类允许有多个直接父类。
下一章
共同学习,写下你的评论
评论加载中...
作者其他优质文章