第二课 面向对象理解
JAVA程序以类的形式存在,类是JAVA程序的最小单元。如果类能被解释器直接解释执行,刚这个类里必须有一个main方法,main方法是程序的执行入口。往往一个类文件只包含一个类,并且用public修饰这个类,JAVA源文件命名以public修饰的类的类名。
JAVA语言不需要程序员直接控制内存回收,JAVA程序的内存分配与回收由JRE在后台自动进行。JAVA的堆内存是一个运行时数据区,用以保存类的实例(对象),这个堆内存由JVM控制。对于不再使用的对象,可以将该对象的引用变量设置为null,从而暗示垃圾回收机制可以回收该对象。
JAVA支持面向对象的三个基本特征:继承(Inheritance),封装(Encapsulation),多态(Polymorphism)。允许从现实世界中的客观存在事物(对象)出发构造软件系统,在系统构造中尽可能运用人类的自然思维方式。面向对象的方式由面向对象分析(OOA)、面向对象设计(OOD)、面向对象编程(OOP)三个部分组成。前两者采用统一建模语言(UML)来描述记录它们的结果。
什么是结构化程序设计:主张按功能来分析系统需求,自顶向下,逐步求精,模块化。它的最小单元是函数,每个函数负责完成一个功能模块,用以接收输入数据,并进行处理后输出数据。三种基本结构:顺序结构,条件结构(if结构、switch结构),循环结构(当型结构、直到型结构、for型结构)。
面向对象与基于对象区别:前者具备三个基本特征,缺一不可。后者仅仅实现了封装,却没有继承与多态的特征(JaveScript)。在基于对象的语言中,开发者只能调用对象方法与属性,却不能派生出新的对象类型。面向对象编程的人应该不是单纯的“类库的使用者”,而应该是“类库的创建者”。
UML图可分为静态图与动态图,前者有:用例图、类图、对象图、组件图、包图、部署图、复合结构图;后者有:顺序图、活动图、状态机图、通信图、定时图、交互概观图。
注释是文档中的重要部分,可读性第一,效率第二,将写代码与写一个规范性文档等同起来。注释可分为:单行注释(//),多行注释(/* */)与文档注释(/** */)。通过javadoc工具可以将文档注释生成API文档,可以在文档注释中加入javadoc标记得到一些更加详细的说明。在使用JAVA的类库时,可以参考JAVA提供的API文档正确使用库类。