题目内容:在一个公寓里,小红是一个学生,另外还有一个建筑工人,平时帮助别人换锁,有一个是医生。请用oop的思想用 代码实现小红家的情况!
Java参考答案:( 为了方便,我把所有的类都放在一个文件里面了)
public class Test{
public static void main(String[] args){
House h=new House();
h.setStu(new Student("0001","小红",'女'));
h.setDoc(new Doctor("丽丽",'女'));
h.list(h.getStu());
h.list(h.getDoc());
Lock l=new Builder("老明",'男');
h.list(l);
}
}
class Person{
private String name;
private char sex;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void work(){
System.out.println("努力工作!");
}
public Person(String name,char sex){
this.name=name;
this.sex=sex;
}
}
class Student extends Person{
private String sid;
public void setSid(String sid){
this.sid=sid;
}
public String getSid(){
return sid;
}
public void work(){ //使用继承
System.out.println(getName()+"学习很用功!");
}
public Student(String sid,String name,char sex){
super(name,sex);
this.sid=sid;
}
}
interface Lock{
void job();
}
class Builder extends Person implements Lock{ //使用继承,和实现接口
public void work(){
System.out.println(getName()+"是建筑工人,工作挺累的!");
}
public void job(){
System.out.println(getName()+"是开锁专家,为人民服务!");
}
public Builder(String name,char sex){
super(name,sex);
}
}
class Doctor extends Person{ //使用继承
public void work(){
System.out.println(getName()+"是一个医生,人们的白衣天使!");
}
public Doctor(String name,char sex){
super(name,sex);
}
}
class House{ //使用合成
private Student stu;
private Builder bui;
private Doctor doc;
public void list(Person per){
per.work();
}
public void list(Lock lock){
lock.job();
}
public void setStu(Student stu){
this.stu=stu;
}
public Student getStu(){
return stu;
}
public void setBui(Builder bui){
this.bui=bui;
}
public Builder getBui(){
return bui;
}
public void setDoc(Doctor doc){
this.doc=doc;
}
public Doctor getDoc(){
return doc;
}
}
在C#中也是大同小异,因我我只装了jdk,没有装vs 所以在这里我就不演示C#代码了。
为了方便,我把所有的类都放在一个文件里面了
分享到:
相关推荐
ACCP8.0内部测试 《使用Java实现面向对象编程》内部测试机试题
OOP笔试题,《使用Java实现面向对象编程》阶段测试-笔试试卷
用面向对象的方法模仿一个计算机的存储与显示操作
浙江大学oop(面向对象程序设计)历年考题(英文版) 包含答案
JavaOOP内部测试机试题
C#OOP电影院C#OOP电影院C#OOP电影院C#OOP电影院
JavaOOP面向对象,JavaOOP面向对象,JavaOOP面向对象,JavaOOP面向对象,JavaOOP面向对象,JavaOOP面向对象,
javaoop javaoop阶段项目 javaoop阶段项目 javaoop阶段项目
java oop,适合小白。
Java 第一阶段建立编程思想 【零钱通(OOP)】---- 代码 Java 第一阶段建立编程思想 【零钱通(OOP)】---- 代码 Java 第一阶段建立编程思想 【零钱通(OOP)】---- 代码 Java 第一阶段建立编程思想 【零钱通(OOP)...
C#OOP很简单的三个测试机试题
(2分)The program has a compile error because there are no elements in the vector.
oop与javascript oop与javascript oop与javascript
用java oop做简单计算器,清空,选择。。。。
公司内部培训资料 oop实践
oop
oop面向设计源代码oop面向设计源代码oop面向设计源代码oop面向设计源代码
基于oop思想,实现转账,存入,取出等ATM功能
本资源适合java初学者,针对于基础的面向对象oop
OOP详细代码 菜鸟们可以来观看一下哦!