zoukankan      html  css  js  c++  java
  • JavaSe之适配器(Adapter)

    概述:

      所谓适配,即找到自己所想要的,而又没有其他多余的成分在里面,比如想要实现某个接口里面的指定方法,而不用实现其它无用的方法就可以用到适配这种思想

    相关知识:

      1.抽象类(abstract修饰的类)没必要实现父类(接口)中的所有抽象方法

      2.普通类必须要实现父类(接口)中的所有抽象方法

      3.如果在继承某个接口的时候,只想要实现里面指定的方法,而不是实现所有的抽象方法,有一个方法就是通过一个Abstract类去实现该接口,并且覆盖里

    面的所有抽象方法,写一个空方法体(这样做之后这个抽象类里面的方法都是具体方法了)。之后再继承这个抽象类,实现里面的指定方即可。

    例子:

      要求:实现CarFunchtion接口中的指定方法。

    CarFunction.class

    public interface CarFunction {
        public abstract void start();
        
        public abstract void end();
        
        public abstract boolean speed();
        
    }

    AbstractCar.Class去实现抽象接口中的所有方法,且每一个方法都是一个空方法体

    public abstract class AbstractCar implements CarFunction{
    
        @Override
        public void start() {
        }
    
        @Override
        public void end() {
        }
    
        @Override
        public boolean speed() {
            return false;
        }
        /**
         * 公共的操作定义在父类接口面
         * @param same
         */
        public void sameOpe(Same same){
            same.doTheSame();
            
        }
        
        public void changeColor(String color){
            System.out.println("我想changeColor");
            sameOpe(new Same(){
                
                @Override
                public void doTheSame() {
                    System.out.println("改变成" + color);
                }
                
            });
        }
        /**
         * 这里面定义需要变化的操作
         * @author hsyang
         *
         */
        static interface Same{
            public void doTheSame();
        }
    }

    RedCar.Class:重写指定的方法即可

    public class RedCar extends AbstractCar{
        @Override
        public void start() {
            System.out.println("start启动了");
        }
    }
  • 相关阅读:
    TX1/TX2 Qt安装与配置
    Gsteramer 环境配置
    NVIDIA Jetson TX2刷机
    TX2之多线程读取视频及深度学习推理
    搭建USB摄像头转RTSP服务器的多种方法
    TX2 五种功耗模式
    NVIDIA TX1/TX2 对比
    tf.reduce_mean
    关闭tensorflow运行时的警告信息
    sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
  • 原文地址:https://www.cnblogs.com/studyCenter/p/7536087.html
Copyright © 2011-2022 走看看