Java程序设计系列讲座-3OOP之继承性与多态性.pptVIP

  • 2
  • 0
  • 约1.1万字
  • 约 61页
  • 2018-10-16 发布于天津
  • 举报

Java程序设计系列讲座-3OOP之继承性与多态性.ppt

Java程序设计系列讲座-3OOP之继承性与多态性.ppt

Java程序设计系列讲座-3 OOP之继承性与多态性 黄绍辉 厦门大学计算机科学系 E-mail: hsh@ 来点轻松的话题:Java命名规范 包的命名规范 包的名称一般全部采用小写 包名的前缀一般是域名单词序列的逆序 实例 com.sun.eng com.apple.quicktime edu.cmu.cs.bovik.cheese 文件的命名规范 必须与该文件中public类的类名同名 后缀必须是 .java 类/接口的命名规范 类名一般是名词/名词词组:每个单词的首字母大写,其它字母小写 类名应当尽量简单,而且其含义能够尽量准确地刻画该类的含义 一般采用全称—尽量少用缩写词 (除非该缩写词被广泛使用) 实例 Clock Time ImageSprite 方法的命名规范 方法名一般是 动词/动词性词组 首字母小写 中间单词的首字母大写,其它字母小写 尽量应用简单的、常用的单词 实例 run( ); getBackground( ); getTime( ); 变量的命名规范 变量名的首字母小写 中间单词的首字母大写,其它字母小写 变量名的首字母尽量不要用字符: _ 或 $ 变量名应当简短、有含义、且便于记忆 变量名常常由表示其所扮演的角色与数据类型组成 实例 int i; char c; double widthBox; Point startingPoint, centerPoint; Name loginName; 常量的命名规范 常量名一般全大写,单词之间用下划线分隔 (“_”) 实例: static final int MIN_WIDTH = 4; static final int MAX_WIDTH = 999; 编辑方法 尽量不要用TAB排版 行数/每行的字符数 缩排方式(Indentation) 空白符/行 友情提示:通常Java的开发环境都会提供源代码的格式化/重排功能,如果使用记事本编辑源代码,建议去下载一个叫astyle的源代码重排工具(DOS命令行工具)。UltraEdit有捆绑这个工具,并提供了GUI界面的调用方式。 文件组织 源程序文件一般采用如下的组织顺序: 最开始一般是注释 package 和 import 语句 类和接口的定义 OOP-Part II 继承性 类的继承和实现 一个类可以被继承,继承有什么好处呢? 当一个类被继承的时候,它所有说明为protected和public的成员(变量和函数)都可以传递到它的下一代,这就是好处。 例如图形界面的程序,一般都需要继承JFrame,因为JFrame这个类帮你做了很多事情:绘制一个界面,做一个标题栏,可以缩放……要是你自己从头开始做一个类似功能的类,那难度可就太可怕了…… 但是如果你继承JFrame的话,那么JFrame可以把它拥有的超过150个精心设计功能强大的函数转让给你使用!多好的JFrame啊…… 直接继承JFrame类,界面就出来了 一个类可以被继承,例如这个MyGUI类: import javax.swing.*; public class MyGUI extends JFrame { public static void main(String args[]) { MyGUI frame = new MyGUI(); frame.setTitle(早上好!); frame.setSize(500, 400); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } 注意这个MyGUI类,其实除了继承,啥都没干,但是人家就是有界面…… 超类和子类 当一个类C1是从C2继承而来的,C1叫做子类(subclass),而C2叫做超类(superclass) 子类在OOP里还有一种叫法child class,或者扩展类(extended class),或者派生类(derived class) 超类也叫双亲类、父类(parent class),或者基类(base class) 子类通常具有比父类更强的功能,因为它不但能够继承父类的成员,还可以添加属于自己的成员 继承性 创建子类格式: class SubClass extends SuperClass {…} 这里SubClass就可以继承所有SuperClass的public和protected的成员,当然,如果SubClass有同名的成员,那么SuperClass的将被屏蔽。例如: class A { public int a; protected int b; } class B extends A { int a; //此a将屏蔽

文档评论(0)

1亿VIP精品文档

相关文档