题目内容:在一个公寓里,小红是一个学生,另外还有一个建筑工人,平时帮助别人换锁,有一个是医生。请用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#代码了。
为了方便,我把所有的类都放在一个文件里面了
分享到:
相关推荐
这是一款策略类游戏,可能涉及到C++中的面向对象编程(OOP)概念,如类、对象、继承、多态和封装。游戏可能使用了图形库,如SDL或OpenGL来实现游戏画面。同时,游戏逻辑可能运用了状态机设计模式,处理不同的游戏...
以下是一些可能涵盖在"JAVAOOP所有内测题目"中的关键知识点: 1. **类与对象**:Java中的所有数据结构都基于类,而类是对象的蓝图。理解如何定义类,包括属性(成员变量)和方法(成员函数),以及如何创建和使用...
OOP笔试题,《使用Java实现面向对象编程》阶段测试-笔试试卷
这份"浙江大学OOP(面向对象程序设计)历年考题(英文版)"包含了历年的考试题目及答案,是学习和备考的重要资源。 首先,我们要了解OOP的基石——类与对象。类是对象的模板,定义了一组属性(数据成员)和方法...
用面向对象的方法模仿一个计算机的存储与显示操作
在本题中,“西电软工oop上机题目4 10.6-2.rar”要求我们完成并测试一个名为`Date`的类,其内部实现将采用“自1970年1月1日以来的天数”表示日期。 1. **类的设计**: - `Date`类应包含表示日期的私有成员变量,如...
在C++编程中,面向对象程序设计(OOP)是一种重要的思想,它涉及到类、对象、封装、继承和多态等核心概念。本题主要涉及C++中的动态内存管理、运算符重载、向量操作以及inline函数等相关知识点。 1. **动态内存管理...
**OOP实践** 面向对象编程(Object-Oriented Programming,简称OOP)是一种软件开发方法,它基于对象、类和消息传递的概念,旨在提高代码的重用性、可维护性和可扩展性。在实际的软件开发中,OOP是解决复杂问题的...
C++基于C语言并扩展了其功能,引入了面向对象编程(OOP)的概念,使得程序设计更加贴近实际问题的解决方式。 面向对象程序设计(OOP)的基本思想是将程序设计中的数据和操作数据的方法结合在一起,形成对象。这种...
JavaScript OOP(面向对象编程)模式是编程领域中一种重要的设计思想,它允许开发者通过类和对象来组织和管理代码,提高代码的可重用性和可维护性。在这个讲解中,我们将深入探讨JavaScript中的OOP模式,特别是如何...
OOP(面向对象编程)是编程的一种高级方法,它使代码更易于维护、扩展和重用。本资料集合旨在帮助初学者理解并掌握PHP中的OOP概念。 首先,我们从"PHP5面向对象初步(第一章).pdf"开始,这一章节通常会介绍OOP的...
在多种编程范式中,面向对象编程(Object-Oriented Programming,OOP)是一种十分流行的编程范式,它将现实世界中的事物和概念抽象成对象,并让这些对象在程序中相互作用,以完成特定的任务。 OOP的核心思想是使用...
标题和描述均提到了"OOP的未来",即面向对象程序设计(Object-Oriented Programming,简称OOP)的前景。OOP是一种编程范式,它使用“对象”来设计软件,对象不仅包含数据,还包含处理这些数据的方法。在IT行业,OOP...
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它基于“对象”的概念,将数据和操作数据的方法封装在一起。在Java语言中,OOP是其核心特性,使得代码更加模块化、可重用和易于维护。在给定...
java oop,适合小白。
Java 第一阶段建立编程思想 【零钱通(OOP)】---- 代码 Java 第一阶段建立编程思想 【零钱通(OOP)】---- 代码 Java 第一阶段建立编程思想 【零钱通(OOP)】---- 代码 Java 第一阶段建立编程思想 【零钱通(OOP)...
《C语言实现OOP》是一本独特而富有挑战性的书籍,它揭示了如何在传统的、非面向对象的C语言中实现面向对象编程(OOP)的概念。面向对象编程是一种广泛应用于现代软件开发的方法,它强调数据和操作数据的函数封装在...
本教程将深入探讨TwinCAT3中的面向对象编程(OOP)概念,包括方法、接口、属性以及它们的实现。这将帮助工程师更高效地编写和组织复杂的自动化程序。 首先,我们来看**方法**。在OOP中,方法是对象可以执行的操作。...