学习Java第12天笔记

学习Java第12天笔记,第1张

学习Java第12天笔记

day12文字笔记

知识回顾:
1、package和import

2、访问控制修饰符

3、final:

4、static:

正课内容:
1、static final常量

2、抽象方法:
设计规则:
1)将派生类所有共有的属性与行为抽到超类中—抽共性
2)派生类的行为都一样,设计为普通方法。派生类的行为不一样,设计为抽象方法
由abstract修饰,只有方法的定义,没有具体的实现
3、抽象类:
由abstract修饰
包含抽象方法的类必须时抽象类
抽象类不能被实例化(不能new对象
抽象类是需要被继承的

***抽象方法存在的意义是什么?
答:当向上造型时,通过超类的引用能点出方法来,但具体执行的是派生类重写之后的----意义在于保证能点出来

***若抽象方法的意义仅为能点出来,那为何不设计普通方法?
答:当设计为抽象方法,可以强制派生类必须重写,而普通方法是达不到强制重写的效果的----意义在于强制必须重写


***抽象类的意义:
1.封装共有的属性和行为----超类意义代码复用
2.为所有的派生类提供统一的类型---向上造型
3.可以包含抽象方法,为所有的派生类提供统一的入口,派生类的具体实现不同,但是入口时一致的(能点出来)
	抽象方法是必须被重写的,普通方法是你可以重写也可以不重写

一个类不能new对象,单独存在是没有意义的

*****潜艇游戏第6天:
画对象—一共需要三个数据(图片,x坐标,y坐标)

1.想画对象需要去获取对象的图片,每个对象都得获取图片,意味着获取图片的行为是共有行为----设计为SeaObject超类中,
每个对象获取图片的行为都不一样,所以设计成抽象方法
2.在7个派生类中重写getImage(),并获取图片
3.画图片时需要去判断对象的状态,因为只有对象活着才画对象,每个对象都有状态,意味着状态为共有属性,所以应该设计在
SeaObject—准备状态,状态一般都设计为常量,同时再设计state变量表示当前状态
—在SeaObject中设计LIFE,DEAD状态常量,state变量表示当前状态
—状态有了还需要进行判断,每个对象都能进行判断,意味着判断对象的行为是共有行为,所以设计在Seaobject中,
每个判断对象的行为都一样,所以设计为普通方法
—在SeaObject中设计isLife()、isDead()判断状态
4.游戏中的对象是可以死并消失的
对象的图片、x坐标、y坐标都有了,就可以开画了,每个对象都可以画图片,意味着画图片的行为是共有行为,所以设计在
SeaObject中,每个对象画图片的行为都是一样,所以设计为普通方法
—在Seaobject中设计paintImage()画图片
—在画图片的时候要求,如果对象活着才画图片

5)画图片的行为做好后,在world中调用即可
—给对象数组填充测试数据
—重写paint()方法:画海洋图、调用paintImage()画图片/对象

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4669007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存