结构化编程和面向对象编程

Posted zzfx

tags:

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

http://www.cnblogs.com/CHzero/articles/5556297.html

结构化设计:
    结构化程序设计方法主张按功能来分析系统需求, 原则有 自顶向下, 逐步求精, 模块化等.
    结构化程序设计首先采用结构化分析(SA)方法对系统进行需求分析, 然后采用结构化设计(SD)方法对系统进行概要设计,详细设计,  最后采用结构化编程(SP)方法实现系统.
    结构化程序设计按功能来把系统逐步细化, 因此又叫做 面向功能的程序设计方法.
    结构化程序设计的每个功能都负责对数据的接收,处理,输出,这种方式又称为面向数据流的处理方式用DFD(数据流图)表示.
    结构化程序设计里最小的程序单元是函数.整个程序由一个个函数组成, 而整个程序的入口是一个主函数(main()), 由主函数调用其他函数,函数之间的依赖来构成整个程序的功能.
    
    结构化程序设计的局限性:
        设计不够直观,与人类的思维不一致.
        适应性差,可扩展性不强.
 
    程序的三种基本结构:
        结构化程序设计非常强调某个功能的算法.算法由一系列操作组成. 任何简单或复杂的算法都可以由顺序结构,选择结构,循环结构这三种基本结构来构成. 
        
        顺序结构: 顺序结构表示程序中的各操作是按照它们在代码中的排列顺序依次执行的.
        选择结构: 选择结构表示程序的处理需要根据某个特定的条件选择其中的一个分支执行(单选,双选,多选).
        循环结构: 循环结构表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才停止循环(直到循环, 当循环).
                        当型循环: 当条件为真时循环.    直到型循环: 直到条件为假时结束循环.
   
     结构化程序设计中的任何结构都具有唯一的入口和出口. java的方法里面则是一种结构化设计.
 
面向对象设计:
    面向对象的基本思想是使用类, 对象, 继承, 封装, 消息等基本概念进行程序设计.
    在系统构造中尽可能的利用人类的自然思维方式,强调以现实世界中的事物(对象)为中心来思考,认识问题,并根据这些事物的本质特征,把它们抽象表示为系统中的类.
    这使得软件系统的组件可以直接的映像到客观世界,并保持客观世界中事物及其相互关系的本来面貌.
    
    面向对象方法的三个基本特征:
        封装性:将对象的实现细节隐藏起来, 通过一些公共的接口方法来供外部调用对象的功能.
        继承性:是面向对象实现的的重要手段,子类继承父类, 子类直接获得父类的非private属性和方法.
        多态性:子类对象可以赋值给父类对象引用, 但运行的时候仍然表现出子类的行为特征,同一个类型的对象在执行同一个方法时, 可能表现出不同的特征.
 
    面向对象还支持如下特点:
        对象是面向对象最基本的概念, 它的基本特点有:标识唯一性,分类性,多态性,封装性,模块独立性好.
        类是具有公共属性公共方法的一类事物.类是对象的抽象, 对象是类的实例化. 类的封装提高了类的内聚性, 降低了对象之间的耦合性.
        对象间的相互合作需要一个机制协助进行, 这样的机制称为"消息", 消息是一个实例与另一个实例之间的相互通信的机制.
        面向对象方法中,类之间的共享属性和共享方法的机制称为继承.继承具有传递性.继承分为多继承和单继承(java不支持多继承).
    
    "基于对象"和面向对象
        面向对象和"基于对象"都实现了"封装"的概念, 但是面向对象实现了"继承和多态", 而"基于对象"没有实现.
    
    面向对象的程序员按照分工分为: 类库的创建者 和 类库的使用者

以上是关于结构化编程和面向对象编程的主要内容,如果未能解决你的问题,请参考以下文章

Python之面向对象

结构体实现面向对象编程

面向对象之结构体1

如何在C语言里实现“面向对象编程”

会一点java,有面向对象编程基础,选择入门unity有很大难度吗?应如何有效的入门?

js面向对象