APP下载

浅谈java教学中类的设计

2020-02-20刘妍东

科学大众·教师版 2020年1期
关键词:抽象代码

刘妍东

摘 要:在面向对象的编程思想中,java类的设计是学习中的难点也是重中之重,类能否设计好,也是能否学习好面向对象的编程语言。通过生活中的实例分析到最后java类代码的完成,能给学习者启发。

关键词:抽象; java类; 代码

中图分类号:G434           文献标识码:A     文章编号:1006-3315(2020)1-194-001

1.引言

Java语言是一种面向对象的编程语言,因其具有简单性、面向对象、可移植、分布性、安全性等特点,已被社会认可,并已成为软件开发的主流设计语言了。同时,在众多高校中《java语言》也成为编程类课程的入门语言了。如何教好这门课程,如何学好这门课程,也是计算机类专业学习的重中之重。下面本人通过面向对象编程中类的概念,进行探讨。

2.面向对象的编程思想

面向对象的编程思想是,把现实世界中的实体,转换成计算机世界的代码。通过程序来实现对事物的描述。面向对象编程的三大特征:封装、继承和多态。则现实世间中的实体,我们就可以称之为对象,而同一类的对象模板,我们就可以称之为类。我们可以说,类是对象的抽象,对象是类的实例化。

面向对象编程有三大特征。

(1)封装,将对象的属性和行为进行封装,而将对象的属性和行为进行封装的载体就是类。封装可以隐藏程序内部的具体实现,只提供外部对数据访问的接口,提高程序的可靠性。

特点:提高代码的可维护性

(2)继承,在已有对象的属性和行为的基础上派生新的子类,子类不但可以拥有父类的属性和行为,还可以在此基础上进行扩展,拥有自身的特殊属性和行为。

特点:实现抽象,提高代码复用性。

(3)多态,同一实现接口,使用不同的对象实例执行不同的操作。

特点:增强代碼的可维护性和可扩展性。

3.类的概念

类是具有相同的属性和功能的事物的抽象的集合,在面向对象程序设计中,人们把一类事物的静态属性和动态可以执行的操作组合在一起就得到类这个概念。类是个抽象的概念,用来模拟一类事物,一旦定义了一个类,这个类就永远存在。

比如人,人有男人和女人,他们都有身高,体重等相同的属性,他们都具有走路,吃饭,工作等这些相同的,可动态执行的操作,所以可以定义“人类”这样一个类来包含他们相同的属性和功能。车,车有轿车、卡车、公共汽车等,都有车牌、车型、颜色等属性;行驶、停止等行为。所以可以定义“车类”来包含他们相同的属性和功能。卡有银行卡、消费卡、会员卡等。都有卡号、密码等属性;消费、存储等行为。我们就可以定义成“卡类”,来表示他们都属于卡。在编程的过程中我们可以把属性通过数据变量来体现,操作行为通过具体方法来实现。

4.类的设计

在面向对象的编程思想中,我们需要把现实世界中的实体进行抽象化,提炼出共同的属性与行为,然后转换成java代码。

如张三李四等,都有姓名、性别、年龄、人员编号、身高、体重、家庭住址、工作、活动等。在这些共同特点中,姓名、性别、年龄、人员编号、身高、体重、家庭住址等能用一个具体的值来描述的,我们称之为属性,在计算机世界可以用成员变量来描述。工作、活动等这些无法用一个具体的值来描述的,在计算机世界用成员方法来描述。根据我们的需要,保留几个常用的特点,加上标点符号。一个简单的抽象世界的程序语言就出现了,见图1。

现在就已经有程序结构的样子了,在转化为java语言的类时,我们还需要再考虑这些成员变量的取值,可以通过取值来决定成员变量的数据类型。如,人员编号,是由一段不会改变的数字串组成,而且不需要参与运算,这样我们就可以把人员编号定义为字符串“String”类型。姓名,是多个字符组成,也可以定义为字符串“String”类型。年龄,可随着日期变化,而且用整数描述,就可以把年龄定义为整型“int”类型。工作、活动这些操作我们暂时先定义“无返回值”类型。最后,在“人”前面加一个“class”,class是定义类的关键字。现在,这就是一个我们定义好的“人类”,见图2。

在程序代码中尽量少出现中文,所以我们可以把人类的属性和行为转换为字母表示的英文,见图3。

为表示一个完整的类,我们再加上方法体,见图4。这样一个完整的类就设计出来了。

类设计完成后,就可以通过对象测试一下,定义了zhangsan对象,调用work方法。定义了lisi对象,调用play方法。得出运行结果。见图5。

4.总结

在面向对象的编程思想中,类的设计涉及到了几个概念:

类是封装了一类对象的状态和方法。是现实世界中事物的抽象集合。类具有完整的功能和相对的独立性。对象:是现实世界中可以明确标识的任何事物。在程序中,对象由类来创建。成员变量:是用来描述类的属性,反映类的状态和特征。成员方法:是用来说明类的行为,反映类中对数据的操作。

类的设计并不难,我们只要掌握好现实世界中的抽象和以上概念,就能设计出客户需要的类了。

猜你喜欢

抽象代码
神秘的代码
小学数学概念形成三部曲
本周创出今年以来新低的股票
由“抽象”变“具体”
对数学有效教学的思考
浅谈门格尔与罗雪尔关于方法论的对比及启示
本周创出今年以来新高的股票
一周机构净增(减)仓股前20名
一周机构净增(减)仓股前20名
近期连续上涨7天以上的股