面向对象练习Word格式文档下载.docx
- 文档编号:20221039
- 上传时间:2023-01-20
- 格式:DOCX
- 页数:8
- 大小:30.93KB
面向对象练习Word格式文档下载.docx
《面向对象练习Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《面向对象练习Word格式文档下载.docx(8页珍藏版)》请在冰豆网上搜索。
,3,true);
4.重载构造方法,使得初始化过程可以多样化,比如叫一碗2两鸡丝粉,则默认是带汤的:
WuMingFenf2=newWuMingFen("
鸡丝"
2);
5.如何顾客这样说:
老板,一碗粉。
则默认是酸辣面码、2两、带汤的?
WuMingFenf3=newWuMingFen();
6.调用check()方法,将上面每碗粉的属性都打印在控制台上。
classWuMingFen{
StringtheMa;
intquantity;
booleanlikeSoup;
WuMingFen(StringtheMa,intquantity,booleanlikeSoup){
This.theMa=theMa;
This.quantity=quantity;
This.likeSoup=likeSoup;
}
publicvoidcheck(){
System.out.println(thema+””+quantity+””+likeSoup);
任务五:
让计算机见识我们生活中的重载
定义新的类型、普通方法的重载及其调用
厨师能够做很多菜,我们可以用一个动词来概括他的行为:
烹饪。
现在在厨师类中把烹饪cook()这个行为进行重载,将不同类型的食物作为参数定义在重载的cook()方法中。
根据传入的不同的食物类型,调用不同的重载cook()方法从而做出不同的菜来。
步骤1.定义各种“食物类“,如Rice,Fish,Vegetable,Dumpling……注意:
这里只要求我们创造一些食物的类型,想想定义一个类型代码最少的写法是怎样的?
提示:
类里面可以不写任何代码。
(Food)
2.写一个厨师类,名为Chef,在类中写关于“烹饪Xxx”的各种重载方法。
如:
voidcook(Ricer){
System.out.println(“煮饭”);
3.在main()中,调用cook()方法。
如:
DoCookdc=newDoCook();
Ricer=newRice();
dc.cook(r);
此时控制台上应出现:
煮饭
任务六:
网站人数计数器
使用static成员
1.定义一个网站用户类:
User。
其中有属性staticintcounter用来记录该用户是第几位登录的用户。
该静态变量被初始化为0。
2.写一个静态方法:
staticshowCount(),要求能在控制台上输出Counter的值。
3.每当一个新的用户登录,要求counter值加1。
做法:
在该类的构造函数中,实现counter++;
4.在main()中,未产生任何用户对象之前,调用showCount();
5.使用for循环new10个用户,并调用showCount()方法查看网站登录总人数。
classUser{
staticintcounter;
User(){
counter++;
PublicstaticvoidshowCount(){
System.out.println(counter);
Publicstaticvoidmain(String[]args){
For(inti=0;
i<
10;
i++){
Useruser=newUser();
User.showCount();
任务七:
写一个可以给员工发工资的程序。
继承方法重写super的用法
步骤一:
设计一个雇员类Employee,其成员属性是姓名name(String型),工资wage(double型),另有一个获得总收入的成员方法doublegetSalary()(普通雇员的工资即为总收入)。
Employee的构造方法publicEmployee(doublewage)的作用是给工资赋值。
步骤二:
设计一个经理类Manager,它继承于Employee,与Employee相比,增加了一个成员属性奖金allowance(double型),也有一个获得总收入的成员方法doublegetSalary()(经理的总收入=工资+奖金)。
Manager的构造方法是给工资和奖金赋值。
步骤三:
写一个测试类:
其中有语句:
Employeeemp=newEmployee(2500);
System.out.println(emp.getSalary());
Managerm=newManager(3000,500);
System.out.println(m.getSalary());
则控制台上结果应为:
2500.0
3500.0
classEmployee{
Stringname;
doublewage;
publicdoublegetSalary(){
returnwage;
PublicEmployee(doublewage){
this.wage=wage;
ClassManagerextendsEmployee{
doubleallowance;
Manager(doublewage,doubleallowance){
super(wage);
this.allowance=allowance;
publicdoublegetSalary(){
returnwage+allowance;
任务八:
请用尽量简练的话对四种访问权限做一个总结。
参考答案:
public完全公开
protected包内公开+隔包父子公开
缺省包内公开
private类中公开
任务九:
根据下列代码回答问题:
classVehicle{
publicvoidmove(){
System.out.println("
avehiclemoving..."
);
}
publicclassCarextendsVehicle{
publicvoidrun(){
acarrunning..."
publicstaticvoidmain(String[]args){
Vehiclebenz=newCar();
benz.run();
提问:
上述代码能通过编译吗?
如果不能,请说明理由。
任务十:
当一回娱乐主播!
说明:
本题涉及设计思想,仅为启发之用。
如果按步骤提示能够将代码完成,即光荣完成任务。
开场白:
ShowbizShowbizAlwaysShowbiz~~~娱乐急先锋,娱乐消息八面通~各位观众大家好,我是娱乐主播爪哇欧欧劈,今天要八卦的明星有三位:
分别是:
歌舞都飙得不错的溜得滑(虽然喜欢有事没事地摔跤);
以及酷爱乱摆pose,乱唱乱跳的芙蓉打劫(已经无数次地打劫了我们的眼睛和耳朵,那是相当的惊艳);
最后当然还有颇具商业头脑的酒吧掌柜当红明星你轧棚(生意太好了吧,连棚都挤跨了)……
写一个抽象明星父类Star.要求其中有:
成员
成员名
说明
属性
Stringname
明星的名字
intsalary
明星的收入
方法
Star(Stringname,intsalary)
构造方法,初始化成员属性(子类构造方法要用到super(Stringn,ints))
getInfo()
非抽象的,输出name和salary的值
sing()
抽象方法
dance()
写一个GoodStar类继承于Star类,要求如下:
GoodStar(Stringname,intsalary)
构造方法
覆盖父类的方法,应能打印出“唱得好”
覆盖父类的方法,应能打印出“跳得棒”
写一个炒作明星类OhMyGodStar类继承于Star类:
OhMyGodStar(Stringname,intsalary)
覆盖父类的方法,应能打印出“这也叫歌?
”
覆盖父类的方法,应能打印出“观众崩溃了”
步骤四:
定义一个接口:
Business
sell(Stringxx)
声明一个卖方法
步骤五:
写一个有商业头脑的明星类BusinessStar,继承于Star类,并且实现Business接口
BusinessStar(Stringname,intsalary)
覆盖卖方法,打印出“卖xx”
覆盖父类的方法,能打印出“能歌”
覆盖父类的方法,能打印出“会舞”
步骤六:
测试
StarliuDeHua=newGoodStar(“溜得滑”,274000);
liuDeHua.getInfo();
liuDeHua.sing();
liuDeHua.dance();
StarfuRongDaJie=newOhMyGodStar(“芙蓉打劫”,280);
fuRongDaJie.getInfo();
fuRongDaJie.sing();
fuRongDaJie.dance();
BusinessStarliYaPeng=newBusinessStar(“你轧棚”,547000);
liYaPeng.getInfo();
liYaPeng.sing();
liYaPeng.dance();
liYaPeng.sell(“芝华士”);
//注意,由于sell()方法不是Star类中的方法,所以这里不能使用转型的引用,只能用子类的引用。
测试结果:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 练习
![提示](https://static.bdocx.com/images/bang_tan.gif)