`
hcjdiy
  • 浏览: 5700 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

抽象类与接口的应用(二)

阅读更多

接口的实际应用-->制定标准

范例:制定USB标准

interface USB{                                   //定义USB接口

       public void start();         //USB设备开始工作

       public void stop();                //USB设备停止工作

}

class Computer{                               

       public static void plugin(USB usb){             //只要是USB设备就都可以插入

              usb.start();                                        //USB设备开始工作

              System.out.println("========USB设备工作========");

              usb.stop();                                                //USB设备停止工作

       }

}

class Flash implements USB{                             //U

       public void start(){                             //覆写start()方法

              System.out.println("U盘开始工作");

       }

       public void stop(){                                    //覆写stop()方法

              System.out.println("U盘停止工作");   

       }

}

class Print implements USB{                             //打印机

       public void start(){                             //覆写start()方法

              System.out.println("打印机开始工作");

       }

       public void stop(){                                    //覆写stop()方法

              System.out.println("打印机停止工作");      

       }

}

public class InterfaceCaseDemo02{

       public static void main(String args[]){

              Computer.plugin(new Flash());            //插入U

              Computer.plugin(new Print());             //插入打印机

       }

}

设计模式-->工厂设计

范例:观察程序中的问题

interface Fruit{                           //定义Fruit接口

       public void eat();                  //吃水果的方法

}

class Apple implements Fruit{       //子类Apple实现父类接口

       public void eat(){                 //覆写eat()方法

              System.out.println("** 吃苹果");

       }

}

class Orange implements Fruit{    //定义子类Orange

       public void eat(){                 //覆写eat()方法

              System.out.println("** 吃橘子");

       }

}

public class InterfaceCaseDemo03{

       public static void main(String args[]){

              Fruit fru1 = new Apple();      //实例化接口

              Fruit fru2 = new Orange();    //实例化接口

              fru1.eat();                                   //调用方法

              fru2.eat();                                   //调用方法

       }

}

 

//此方法不太合理

看下边à工厂设计模式

interface Fruit{                           //定义Fruit接口

       public void eat();                  //吃水果的方法

}

class Apple implements Fruit{       //子类Apple实现父类接口

       public void eat(){                 //覆写eat()方法

              System.out.println("** 吃苹果");

       }

}

class Orange implements Fruit{    //定义子类Orange

       public void eat(){                 //覆写eat()方法

              System.out.println("** 吃橘子");

       }

}

class Factory{                                   //定义工厂

       public static Fruit getInstance(String className){

              Fruit f = null;                //定义接口对象

              if("apple".equals(className)){             //判断是哪个子类的标记

                     f = new Apple();                          //通过Apple类实例化接口

              }

              if("orange".equals(className)){          //判断是哪个子类的标记

                     f = new Orange();                       //通过Orange类实例化接口

              }

              return f;

       }

}

public class InterfaceCaseDemo04{

       public static void main(String args[]){

              Fruit f = null;                       //定义接口对象

              f = Factory.getInstance(args[0]);  //通过工厂取得实例

              f.eat();                                //调用方法

       }

}

分享到:
评论

相关推荐

    java 抽象类与接口的练习

    在Java编程语言中,抽象类和接口是两种重要的面向对象设计...通过这样的练习,你可以更好地理解和掌握Java中的抽象类与接口,以及它们在实际开发中的应用。在实践中不断尝试和调试,将有助于深化对这两个概念的理解。

    Java抽象类与接口实验报告

    Java抽象类与接口实验报告

    Java继承_抽象类与接口的应用.

    1.继承及继承实例 2.方法重写(Overwrite) 3.super关键字 4.方法重载(Overload) 5.final修饰符 6.abstract修饰符 7.抽象类 8.接口 9.接口和抽象类对比 10.接口和抽象类使用场合实例 11.总结

    java抽象类与接口区别

    #### 二、理解抽象类与接口的基本概念 ##### 抽象类 - **定义**:抽象类是一种特殊的类,它不能被实例化。抽象类通常包含一个或多个抽象方法(没有方法体的方法),以及一些实现了的方法和字段。 - **目的**:抽象...

    第7章 抽象类与接口.ppt

    在Java编程语言中,抽象类和接口是两种重要的机制,用于实现代码的抽象和多态性。本章主要探讨了这两个概念以及它们在实际编程中的应用。 首先,抽象类(abstract class)是一种不能被实例化的类,它通常含有至少一...

    JAVA中抽象类与接口的区别

    在Java编程语言中,抽象类(Abstract Class)与接口(Interface)是实现抽象与多态性的两种关键机制。这两种机制的出现,极大地丰富了Java语言的面向对象特性,并为开发者提供了更为灵活的设计选择。下面将从多个...

    抽象类与接口的区别

    #### 二、从语法定义层面看抽象类与接口 **抽象类的定义**: ```java abstract class Demo { abstract void method1(); // 抽象方法 void method2() { // 非抽象方法 // 方法体 } int variable; // 变量 } ```...

    实验5:Java抽象类与接口.doc

    通过本实验,学生将掌握 Java 中的抽象类和接口的概念及其应用,并了解如何使用抽象类和接口来描述不同的业务逻辑。 四、实验讨论 在本实验中,我们使用抽象类和接口来描述不同的雇员类型,并演示了如何使用这些类...

    java 抽象类与接口的区别

    在Java编程语言中,抽象类和接口是两种重要的面向对象设计概念,它们都用于实现多态性,但各自具有不同的特点和应用场景。了解并熟练掌握它们的区别对于编写高质量的Java代码至关重要。 首先,抽象类是一种不能被...

    C#抽象类与接口方法

    【C#抽象类与接口方法】在C#编程语言中,抽象类和接口是两种用于实现多态性和封装的关键概念,它们允许我们设计灵活、可扩展的代码结构。 抽象类是一种特殊的类,它不能被实例化,而是作为其他类的基类使用。抽象类...

    详细解析Java中抽象类和接口的区别

    #### 抽象类与接口的基本概念 1. **抽象类**:抽象类是一种不能被实例化的类,它可以包含抽象方法(没有实现的方法)和具体方法(有实现的方法)。抽象类的主要目的是为子类提供一种共有的基本结构,子类必须实现...

    C#类、接口、虚方法和抽象方法-抽象类和接口的相同点和区别

    这里我们将详细讨论这些概念以及抽象类与接口之间的相同点和区别。 首先,让我们来看看抽象类(Abstract Class): 1. 抽象方法是只有声明没有实现的方法,可以视为没有方法体的虚方法。例如: ```csharp public ...

    JAVA 继承基本类、抽象类、接口区别与联系

    ### JAVA继承基本类、抽象类、接口的区别与联系 #### 一、概述 在Java语言中,类(Class)的设计是面向对象编程的核心之一。Java提供了三种方式来扩展类的功能:基本类、抽象类和接口。这三者之间既有相似之处,也...

    c# 中抽象类和接口的学习

    在实际开发中,选择使用抽象类还是接口取决于你的具体需求。如果你需要共享一些通用的实现逻辑,或者需要强制派生类遵循某种结构,那么抽象类可能是更好的选择。相反,如果你的目标是提供一组操作的契约,让多个类...

    教学视频-抽象类&接口

    5. **接口与抽象类的区别**:对比两者在使用上的差异,包括继承的数量限制(一个类只能继承一个抽象类,但可以实现多个接口)和成员类型(抽象类可有实例变量,接口则没有)。 6. **适配器模式**:可能会介绍如何...

    抽象类和接口 区别分析

    在面向对象编程中,抽象类与接口都是实现代码复用和提高软件模块化的重要工具。它们各自拥有独特的特性和应用场景,掌握这些概念对于编写高质量、可维护性强的代码至关重要。下面我们将深入探讨抽象类和接口之间的...

    C#中抽象类和接口的区别.txt

    ### C#中抽象类与接口的区别 在C#编程语言中,抽象类和接口都是用于实现面向对象编程中多态特性的关键概念。它们都旨在为其他类提供一种定义行为和特性的模板或规范,但它们之间存在着重要的区别。本文将详细探讨C#...

    抽象类和接口

    与抽象类不同,一个类可以实现多个接口,从而表现出多种行为。在Java中,使用`interface`关键字定义接口。在实验中,我们创建了一个`Soundable`接口,它定义了`makeSound()`和`adjustVolume()`这两个方法,表示声音...

    基于Java抽象类和接口实现疯狂动物城

    本实验手册即根据需求模拟完成一个简易的疯狂动物城游戏系统, 平台的全称为:使用抽象类和接口实现疯狂动物城项目(后简称为: crazyZoo) 。该系统的主要功能包括:查看动物城成员、入驻动物城、修改动物信息、查找疯狂...

    dot Net中抽象类与接口的区别

    在.NET框架中,抽象类与接口是两种不同的编程概念,它们都扮演着实现多态性和代码重用的关键角色。尽管它们在某些方面有相似之处,但各自的特性决定了它们在实际应用中不同的适用场景。本文将深入探讨.NET中抽象类与...

Global site tag (gtag.js) - Google Analytics