System.out.println(\轮胎数:\颜色:\车身重量:\速度\有空调:\有CD:\ } }
public class b01 {
public static void main(String args[]){ Car m = new Car(4,\白色\ m.downSpeed(); m.getInfo(); } }
【练习题】19.抽象类与继承
设计一个能细分为矩形、三角形、圆形和椭圆形的“图形”类。使用继承将这些图形分类,找出能作为基类部分的共同特征(如校准点)和方法(如画法、初始化),并看看这些图形是否能进一步划分为子类。
本题只考虑实现思想,不考虑具体实现的细节,实现方式可自由发挥。 import java.awt.Point; abstract class Graph {
public Point center;
public Graph(Point center) {
this.center = center; }
public abstract void getInfo(); }
class Rectangle extends Graph {
private int length; private int width;
public Rectangle(Point center,int length,int width){ super(center); this.length = length; this.width = width; }
public void getInfo(){ System.out.println(\矩形:\\n\校准点:\ +\矩形长度:\矩形宽度:\ } }
class Circle extends Graph
{
private int radius;
public Circle(Point center, int radius){ super(center); this.radius = radius; }
public void getInfo(){ System.out.println(\圆形:\\n\校准点:\ +\圆形半径:\ } }
public class b01 {
public static void main(String args[]){ Graph a = new Rectangle(new Point(8,8),4,7); a.getInfo(); Graph b = new Circle(new Point(8,8),10); b.getInfo(); } }
【练习题】20.抽象类:
创建一个Vehicle类并将它声明为抽象类。在Vehicle类中声明一个NoOfWheels方法,使它返回一个字符串值。创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。在Car类中,应当显示“四轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。 abstract class Vehicle {
public abstract String Noofwheels(); }
class Car extends Vehicle {
int a; int b;
public Car(int a,int b){ this.a=a; this.b=b; }
public String Noofwheels(){
return \四轮车————\\n载重:\体积:\ } }
class Motorbike extends Vehicle
{
int c; int d;
public Motorbike(int c,int d){ this.c = c; this.d = d; }
public String Noofwheels(){ return \双轮车————\\n长度:\高度:\ } }
public class b01 {
public static void main(String args[]){ Vehicle m = new Car(88,44); System.out.println(m.Noofwheels()); Vehicle n = new Motorbike(3,4); System.out.println(n.Noofwheels()); } }
【练习题】21.抽象类:
创建一个Vehicle类并将它声明为抽象类。在Vehicle类中声明一个NoOfWheels方法,使它返回一个字符串值。创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。在Car类中,应当显示“四轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。
【练习题】22.接口:
创建一个名称为Vehicle的接口,在接口中添加两个带有一个参数的方法start()和stop()。在两个名称分别为Bike和Bus的类中实现Vehicle接口。创建一个名称为interfaceDemo的类,在interfaceDemo的main()方法中创建Bike和Bus对象,并访问start()和stop()方法。 interface Vehicle {
public abstract String start(boolean a); public abstract String stop(boolean b); }
class Bike implements Vehicle {
public String start(boolean a){ return a+\车启动了\ }
public String stop(boolean b){
return b+\车停止了\ } }
class Bus implements Vehicle {
public String start(boolean a){ return a+\车启动了\ }
public String stop(boolean b){ return b+\车停止了\ } }
public class interfaceDemo {
public static void main(String args[]){ Bike m = new Bike();
System.out.println(\——————\\n\
Bus n = new Bus(); System.out.println(\——————\\n\ } }
【练习题】23.接口:
创建一个名称为Vehicle的接口,在接口中添加两个带有一个参数的方法start()和stop()。在两个名称分别为Bike和Bus的类中实现Vehicle接口。创建一个名称为interfaceDemo的类,在interfaceDemo的main()方法中创建Bike和Bus对象,并访问start()和stop()方法。
【练习题】24.抽象类、继承、接口综合 设计一个系统:
XXX门的实现过程: 流程:
设计一张抽象的门Door,那么对于这张门来说,就应该拥有所有门的共性,开门openDoor()和关门closeDoor();然后对门进行另外的功能设计,防盗--theftproof()、防水--waterproof()、防弹--bulletproof()、防火、防锈…… 要求:利用继承、抽象类、接口的知识设计该门
abstract class Door { public abstract void openDoor(); public abstract void closeDoor(); }
class realDoor extends Door
{
public void openDoor(){
System.out.println(\开门\\n\ } public void closeDoor(){ System.out.println(\关门\\n\ } public void theftproof(){ System.out.println(\防盗\\n\ } public void waterproof(){ System.out.println(\防水\\n\ } public void bulletproof(){ System.out.println(\防弹\\n\ } }
public class b01 { public static void main(String args[]){ realDoor d = new realDoor(); d.openDoor(); d.closeDoor(); d.theftproof(); d.waterproof(); d.bulletproof(); } }
【练习题】25.抽象类、继承、接口综合 设计一个系统: xxx纯净水生产线
目前流程是:从某个地方把水取出来,然后经过缓冲,过滤,加热和放糖的步骤 abstract 水{
public void 水(); }
interface 过滤{} interface 缓冲{} interface 加热{} interface 放糖{}
class 纯净水1 extends 水 imps 过滤,缓冲{} class 纯净水2 extends 水 imps 缓冲{} class 纯净水2 extends 水 imps 过滤{}