抽象類與接口練習


【練習題】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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM