zoukankan      html  css  js  c++  java
  • Java面向对象_接口应用——策略模式

    概念:定义了一系列的算法,将每一种算法封装起来并可以相互替换使用,策略模式让算法独立于使用它的客户应用而独立变化。

    接口抽象的就是某种方法。

    OO设计原则:1.面向接口编程  2.封装变化  3.多用组合,少用继承

     1 public class Practice14 {
     2     
     3     public static void main(String[] args) {
     4         // TODO Auto-generated method stub
     5         //用父类的引用指向子类对象
     6         Bird d=new BigBird("小白");
     7         d.setF(new Fly());
     8         d.fly();
     9         Bird d1=new BigBird("小黑");
    10         d1.setF(new NoFly());
    11         d1.fly();
    12     }
    13 }
    14 //接口
    15 interface FlyType{
    16     void fly();
    17 }
    18 
    19 class Fly implements FlyType{
    20     public void fly(){
    21         System.out.println("我会飞");
    22     }
    23 }
    24 class NoFly implements FlyType{
    25     public void fly(){
    26         System.out.println("我不会飞");
    27     }
    28 }
    29 //抽象类
    30 abstract class Bird{
    31     private String name;
    32     private FlyType f;//组合
    33     public Bird(String name){
    34         this.name=name;
    35     }
    36     public FlyType getF() {
    37         return f;
    38     }
    39     public void setF(FlyType f) {
    40         this.f = f;
    41     }
    42     public void fly(){
    43         System.out.println("我的名字叫"+name);
    44         f.fly();
    45     }
    46     
    47 }
    48 
    49 class BigBird extends Bird{
    50     public BigBird(String name){
    51         super(name);
    52     }
    53 }
    54 class ModelBird extends Bird{
    55     public ModelBird(String name){
    56         super(name);
    57     }
    58 }
  • 相关阅读:
    button标签和input button
    获取select标签的值
    window.loaction和window.location.herf
    数组重复计数,对象方法
    js对象详解
    面试经典题型整理
    一些js小知识点整理
    事件委托能够优化js性能
    网页加载的一般顺序
    http状态码
  • 原文地址:https://www.cnblogs.com/shenhainixin/p/5069335.html
Copyright © 2011-2022 走看看