零基础学JAVAJava SE面向对象部分19面向对象高级07.docx

上传人:b****3 文档编号:4651087 上传时间:2022-12-07 格式:DOCX 页数:21 大小:232.15KB
下载 相关 举报
零基础学JAVAJava SE面向对象部分19面向对象高级07.docx_第1页
第1页 / 共21页
零基础学JAVAJava SE面向对象部分19面向对象高级07.docx_第2页
第2页 / 共21页
零基础学JAVAJava SE面向对象部分19面向对象高级07.docx_第3页
第3页 / 共21页
零基础学JAVAJava SE面向对象部分19面向对象高级07.docx_第4页
第4页 / 共21页
零基础学JAVAJava SE面向对象部分19面向对象高级07.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

零基础学JAVAJava SE面向对象部分19面向对象高级07.docx

《零基础学JAVAJava SE面向对象部分19面向对象高级07.docx》由会员分享,可在线阅读,更多相关《零基础学JAVAJava SE面向对象部分19面向对象高级07.docx(21页珍藏版)》请在冰豆网上搜索。

零基础学JAVAJava SE面向对象部分19面向对象高级07.docx

零基础学JAVAJavaSE面向对象部分19面向对象高级07

上季内容回顾:

代理设计、适配器设计

抽象类和接口的区别

本季主要知识点:

本季以题目讲解为主,详细的讲解了抽象类和接口的实际应用及典型的实例分析。

练习题一

abstractclassEmployee    

{    

        privateStringname;    

        privateintage;    

        privateStringsex;    

        publicEmployee(){}    

        publicEmployee(Stringname,intage,Stringsex)    

        {    

                this.setName(name);    

                this.setAge(age);    

                this.setSex(sex);    

        }    

        publicvoidsetName(Stringname)    

        {    

                this.name=name;    

        }    

        publicvoidsetAge(intage)    

        {    

                this.age=age;    

        }    

        publicvoidsetSex(Stringsex)    

        {    

                this.sex=sex;    

        }    

        publicStringgetName()    

        {    

                returnthis.name;    

        }    

        publicintgetAge()    

        {    

                returnthis.age;    

        }    

        publicStringgetSex()    

        {    

                returnthis.sex;    

        }    

        //显示数据    

        publicabstractStringgetInfo();    

}    

classManagerextendsEmployee    

{    

        //职务    

        privateStringjob;    

        //年薪    

        privatefloatincome;    

        publicManager(){}    

        publicManager(Stringname,intage,Stringsex,Stringjob,floatincome)    

        {    

                super(name,age,sex);    

                this.setJob(job);    

                this.setIncome(income);    

        }    

        publicvoidsetJob(Stringjob)    

        {    

                this.job=job;    

        }    

        publicvoidsetIncome(floatincome)    

        {    

                this.income=income;    

        }    

        publicStringgetJob()    

        {    

                returnthis.job;    

        }    

        publicfloatgetIncome()    

        {    

                returnthis.income;    

        }    

        publicStringgetInfo()    

        {    

                return"管理层信息:

"+"\n"    

                                +"\t|-姓名:

"+super.getName()+"\n"    

                                +"\t|-年龄:

"+super.getAge()+"\n"    

                                +"\t|-性别:

"+super.getSex()+"\n"    

                                +"\t|-职务:

"+this.getJob()+"\n"    

                                +"\t|-年薪:

"+this.getIncome();    

        }    

}    

classWorkerextendsEmployee    

{    

        privateStringdept;    

        privatefloatsalary;    

        publicWorker(){}    

        publicWorker(Stringname,intage,Stringsex,Stringdept,floatsalary)    

        {    

                super(name,age,sex);    

                this.setDept(dept);    

                this.setSalary(salary);    

        }    

        publicvoidsetDept(Stringdept)    

        {    

                this.dept=dept;    

        }    

        publicvoidsetSalary(floatsalary)    

        {    

                this.salary=salary;    

        }    

        publicStringgetDept()    

        {    

                returnthis.dept;    

        }    

        publicfloatgetSalary()    

        {    

                returnthis.salary;    

        }    

        publicStringgetInfo()    

        {    

                return"职员信息:

"+"\n"    

                                +"\t|-姓名:

"+super.getName()+"\n"    

                                +"\t|-年龄:

"+super.getAge()+"\n"    

                                +"\t|-性别:

"+super.getSex()+"\n"    

                                +"\t|-部门:

"+this.getDept()+"\n"    

                                +"\t|-月薪:

"+this.getSalary();    

        }    

}    

publicclassDemo01    

{    

        publicstaticvoidmain(Stringargs[])    

        {    

                Employeew=newWorker("张三",30,"男","技术部",5000.0f);    

                Employeem=newManager("李四",35,"女","经理",10000.0f);    

                System.out.println(w.getInfo());    

                System.out.println(m.getInfo());    

        }    

}

练习题二(重点来咯~~~)

分析:

 只要是宠物则肯定可以向宠物商店中加入

  猫 -->宠物

  狗 -->宠物

 宠物商店存放宠物

五种宠物?

如果说不是五种,可能是更多种了,那该如何?

 5种宠物-->5个接口对象-->对象数组

//宠物    

interfacePet    

{    

}    

//宠物商店    

classPetShop    

{    

}    

//小狗    

classDogimplementsPet    

{    

}    

//小猫    

classCatimplementsPet    

{    

}

宠物信息:

 

·名字 

·年龄

·颜色

·价钱

还应该具备一个返回全部信息的方法。

我们继续看下面哈~

//宠物    

interfacePet    

{    

        //返回宠物的名字    

        publicStringgetName();    

        //返回宠物的年龄    

        publicintgetAge();    

        //返回宠物的颜色    

        publicStringgetColor();    

        //返回宠物的价钱    

        publicfloatgetPrice();    

        //返回宠物的全套信息    

        publicStringgetInfo();    

}    

//宠物商店    

classPetShop    

{    

        //必须有一个对象数组可以保存全部的宠物    

        privatePetp[]=null;    

        //必须定义一个当前已经加到了多少个宠物    

        privateintfoot=0;    

        //对象数组的大小,可以由程序运行时动态分配    

        //len表示对象数组的长度    

        publicPetShop(intlen)    

        {    

                //动态得开辟了对象数组空间    

                this.p=newPet[len];    

        }    

        //增加宠物    

        //假设说宠物商店里面的宠物已经够多了,那还可以继续增加吗?

    

        publicbooleanadd(Petp)    

        {    

                if(this.foot

                {    

                        //还有地方加入宠物    

                        this.p[foot]=p;    

                        //宠物数量增加    

                        this.foot++;    

                        returntrue;    

                }    

                else    

                {    

                        returnfalse;    

                }    

        }    

        //查找宠物信息的方法    

        publicPet[]search(StringkeyWord)    

        {    

                //要返回的对象数组    

                Petpet[]=null;    

                //最后要根据count的内容开辟对象数组pet,把此数组返回    

                intcount=0;    

                //pet的大小是否确定呢?

    

                //先求出符合关键字的全部宠物信息    

                //循环验证    

                for(inti=0;i

                {    

                        //判断返回的信息是否有指定的关键字存在    

                        if(this.p[i].getInfo().indexOf(keyWord)!

=-1)    

                        {    

                                //如果不等于-1,表示已经找到了    

                                //就表示可以增加一个记录    

                                count++;    

                        }    

                }    

                //经过以上代码之后,肯定count包含了全部已经满足要求的宠物信息个数    

                if(count!

=0)    

                {    

                        //已经有内容    

                        pet=newPet[count];    

                        count=0;    

                        //还需要重新循环一次    

                        for(inti=0;i

                        {    

                                //判断返回的信息是否有指定的关键字存在    

                                if(this.p[i].getInfo().indexOf(keyWord)!

=-1)    

                                {    

                                        //如果不等于-1,表示已经查找到了    

                                        //表示向返回的对象数组中加入内容    

                                        pet[count]=this.p[i];    

                                }    

                        }    

                        //表示全部符合要求的对象数组    

                        returnpet;    

                }    

                else    

                {    

                        //表示没有查询到内容    

                        returnnull;    

                }    

        }    

}    

//小狗    

classDogimplementsPet    

{    

        privateStringname;    

        privateintage;    

        privateStringcolor;    

        privatefloatprice;    

        //加入两个构造方法    

        publicDog(){}    

        publicDog(Stringname,intage,Stringcolor,floatprice)    

        {    

                this.setName(name);    

                this.setAge(age);    

                this.setColor(color);    

                this.setPrice(price);    

        }    

        publicvoidsetName(Stringname)    

        {    

                this.name=name;    

        }    

        publicvoidsetAge(intage)    

        {    

                this.age=age;    

        }    

        publicvoidsetColor(Stringcolor)    

        {    

                this.color=color;    

        }    

        publicvoidsetPrice(floatprice)    

        {    

                this.price=price;    

        }    

        publicStringgetName()    

        {    

                returnthis.name;    

        }    

        publicintgetAge()    

        {    

                returnthis.age;    

        }    

        publicStringgetColor()    

        {    

                returnthis.color;    

        }    

        publicfloatgetPrice()    

        {    

                returnthis.price;    

        }    

        publicStringgetInfo()    

        {    

                return"狗的信息:

"+"\n"    

                                +"\t|-狗的名字:

"+this.name+"\n"    

                                +"\t|-狗的颜色:

"+this.color+"\n"    

                                +"\t|-狗的年龄:

"+this.age+"\n"    

                                +"\t|-狗的价格:

"+this.price+"\n";    

        }    

}    

//小猫    

classCatimplementsPet    

{    

        privateStringname;    

        privateintage;    

        privateStringcolor;    

        privatefloatprice;    

        //加入两个构造方法    

        publicCat(){}    

        publicCat(Stringname,intage,Stringcolor,floatprice)    

        {    

                this.setName(name);    

                this.setAge(age);    

          

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1