抽象类与接口练习

【练习题】1.抽象类与继承

设计一个能细分为矩形、三角形、圆形和椭圆形的“图形”类。使用继承将这些图形分类,找出能作为基类部分的共同特征(如校准点)和方法(如画法、初始化),并看看这些图形是否能进一步划分为子类。

本题只考虑实现思想,不考虑具体实现的细节,实现方式可自由发挥。

【练习题】2.抽象类:

创建一个Vehicle类并将它声明为抽象类。在Vehicle类中声明一个NoOfWheels方法,使它返回一个字符串值。创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。在Car类中,应当显示“四轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。

【练习题】3.接口:

创建一个名称为Vehicle的接口,在接口中添加两个带有一个参数的方法start()和stop()。在两个名称分别为Bike和Bus的类中实现Vehicle接口。创建一个名称为interfaceDemo的类,在interfaceDemo的main()方法中创建Bike和Bus对象,并访问start()和stop()方法。

【练习题】4.接口:

创建一个名称为Vehicle的接口,在接口中添加两个带有一个参数的方法start()和stop()。在两个名称分别为Bike和Bus的类中实现Vehicle接口。创建一个名称为interfaceDemo的类,在interfaceDemo的main()方法中创建Bike和Bus对象,并访问start()和stop()方法。

【练习题】5.抽象类、继承、接口综合

设计一个系统:

XXX门的实现过程:

流程:

设计一张抽象的门Door,那么对于这张门来说,就应该拥有所有门的共性,开门openDoor()和关门closeDoor();然后对门进行另外的功能设计,防盗   

--theftproof()、防水--waterproof()、防弹--bulletproof()、防火、防锈…… 要求:利用继承、抽象类、接口的知识设计该门

【练习题】6.抽象类、继承、接口综合

设计一个系统:

xxx纯净水生产线

目前流程是:从某个地方把水取出来,然后经过缓冲,过滤,加热和放糖的步骤 abstract 水{

public void 水();

}

interface 过滤{}

interface 缓冲{}

interface 加热{}

interface 放糖{}

class 纯净水1 extends 水 imps 过滤,缓冲{}

class 纯净水2 extends 水 imps 缓冲{}

class 纯净水2 extends 水 imps 过滤{}

。。。。

1.

package 接口与抽象类;
abstract  class tuxing
{
    abstract void area();
    
}
class juxing extends tuxing
{
    void area()
    {
            
    }
}
class sanjiaoxing extends tuxing
{

    @Override
    void area() {
        // TODO Auto-generated method stub
        
    }
    
}
class yuanxing extends tuxing
{

    @Override
    void area() {
        // TODO Auto-generated method stub
        
    }
    
}
class tuoyuan extends tuxing
{

    @Override
    void area() {
        // TODO Auto-generated method stub
        
    }
    
}
public class class01 {

    public static void main(String[] args) {
        tuxing a=new juxing();
        a.area();
        tuxing b=new sanjiaoxing();
        b.area();
        tuxing c=new tuoyuan();
        c.area();
        tuxing d=new yuanxing();
        c.area();

    }

}

2.

package 接口与抽象类;
abstract class Vehicle
{
    abstract String  NoOfWheels();
    
}
class Car extends Vehicle
{

    @Override
    String NoOfWheels() {
        // TODO Auto-generated method stub
        return "四轮车";
    }
    
}
class Motorbike extends Vehicle
{

    @Override
    String NoOfWheels() {
        // TODO Auto-generated method stub
        return "双轮车";
    }
    
}
public class class02 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Vehicle vehicle=new Car();
        System.out.println(vehicle.NoOfWheels());
        Vehicle vehicle1=new Motorbike();
    
        System.out.println(    vehicle1.NoOfWheels());

    }

}

3.

package 接口与抽象类;
interface Vehicle
{
    void start(int a);
    void stop(int a);
    
}
class Bike implements Vehicle
{

    @Override
    public void start(int a) {
        // TODO Auto-generated method stub
        System.out.println("我是一个自行车,正在启动!!!");
    }

    @Override
    public void stop(int a) {
        // TODO Auto-generated method stub
        System.out.println("我是一个自行车,正在停止!!!");
    }
    
}
class Bus implements Vehicle
{

    @Override
    public void start(int a) {
        // TODO Auto-generated method stub
        System.out.println("我是一个公共汽车,正在启动!!!");
    }

    @Override
    public void stop(int a) {
        // TODO Auto-generated method stub
        System.out.println("我是一个公共汽车,正在停止!!!");
    }
    
}
class interfaceDemo
{
    void shixian(Vehicle a)
    {
        a.start(0);
        a.stop(0);
    }
}
public class class03 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        interfaceDemo a=new interfaceDemo();
        a.shixian(new Bike());
        a.shixian(new Bus());

    }

}

5.

package 接口与抽象类;
abstract class Door 
{    
    void openDoor()
    {
        System.out.println("我正在开门!!!");
    }
    void closeDoor()
    {
        System.out.println("我正在关门!!!");
    }
}    
interface theftproof
{
    void fangshui();
}
interface waterproof
{
    void fangfdan();
}
interface bulletproof
{
    void fanghuo();
}
class theDoor extends Door implements theftproof,waterproof,bulletproof
{

    @Override
    public void fanghuo() {
        // TODO Auto-generated method stub
        System.out.println("我可以防火!!!");
    }

    @Override
    public void fangfdan() {
        // TODO Auto-generated method stub
        System.out.println("我可以防弹!!!");
    }

    @Override
    public void fangshui() {
        // TODO Auto-generated method stub
        System.out.println("我可以防水!!!");
    }

    
    
}
public class class05 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        theDoor a=new theDoor();
        a.openDoor();
        a.closeDoor();
        a.fangshui();
        a.fanghuo();
        a.fangfdan();
        
    }

}

6.

package 接口与抽象类;
abstract class  water
{
    public void water1()
    {
        System.out.println("我是一捧水!!!");
    }
}
interface guolv
{
    void guolv1();
    
}
interface huanchong
{
    void huanchong1();
}
interface jiare
{
    void jiare();
}
interface fangtang
{
    void fangtang();
}
class chunjingshui1 extends water implements guolv,huanchong,jiare,fangtang
{

    @Override
    public void fangtang() {
        // TODO Auto-generated method stub
        System.out.println("向水里放了一勺糖!!!");
    }

    @Override
    public void jiare() {
        // TODO Auto-generated method stub
        System.out.println("对水进行加热!!!");
    }

    @Override
    public void huanchong1() {
        // TODO Auto-generated method stub
        System.out.println("对水进行缓冲!!!");
    }

    @Override
    public void guolv1() {
        // TODO Auto-generated method stub
        System.out.println("对水进行过滤!!!");
    }
    
}
public class class06 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        chunjingshui1 a=new chunjingshui1();
        a.water1();
        a.fangtang();
        a.jiare();
        a.huanchong1();
        a.guolv1();
        
    }

}
 

 

 

 

 

 
---------------------
作者:1天真无邪1
来源:CSDN
原文:https://blog.csdn.net/qq_37997523/article/details/81459684
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2018-11-05 10:23  代码缔造的帝国  阅读(1465)  评论(0编辑  收藏  举报