zoukankan      html  css  js  c++  java
  • Day10_面向对象 接口

    接口

    • 普通类:只有具体实现

    • 抽象类:具体实现和规范(抽象方法)都有!

    • 接口:只有规范!自己无法写方法!约束和实现分离:面向接口编程~

    • 接口就是规范,定义的是一组规则,体现了现实世界中“如果你是...则必须能..”的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。如果你好人,则必须干掉坏人;如果你是坏人,则必须欺负好人

    • 接口的本质是契约,就像我们人间的法律一样。制定好后大家都遵守。

    • OO的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如c++、java、c#等),就是因为设计模式所研究的,实际上就是如何合理的去抽象。

      声明类的关键字是class,声明接口的关键字是interface

    接口的作用

    1. 约束
    2. 定义一些方法,让不同的人实现~ 10----->1(十个人实现一个接口)
    3. 方法都是public abstract
    4. 静态常量public static final
    5. 接口不能被实例化,接口中没有构造方法
    6. implements可以实现多个接口
    7. 必须重写接口中的方法~
    package com.oop.demo09;
    
    //interface定义的关键字,接口都需要有实现类
    public interface UserService {
        //常量~public static final
        int AGE = 99;
        
        //接口中的所有定义其实都是抽象的 public abstract
        void add(String name);
        void delete(String name);
        void update(String name);
        void query(String name);
    }
    
    package com.oop.demo09;
    
    public interface TimeService {
        void timer();
    }
    
    package com.oop.demo09;
    
    //抽象类:extends~
    //类 可以实现接口implements 接口
    //实现了接口的类,就需要重写接口中的方法!
    //多继承~利用接口实现多继承~
    public class UserServiceImpl implements UserService,TimeService{
        @Override
        public void timer() {
    
        }
    
        @Override
        public void add(String name) {
    
        }
    
        @Override
        public void delete(String name) {
    
        }
    
        @Override
        public void update(String name) {
    
        }
    
        @Override
        public void query(String name) {
    
        }
    }
    
  • 相关阅读:
    程序用windows快捷键
    vc6中如何加入BMP图片资源
    vc 中解析字符串
    视频压缩编码问与答
    ActiveX and Com
    Windows 2000 IIS 安装、配置.WEB篇
    javascript 如何调用activex的方法和属性
    bmp 转为jpg
    Writing a Custom Membership Provider for the Login Control in ASP.NET 2.0
    几种DC及区别
  • 原文地址:https://www.cnblogs.com/lemonlover/p/14044610.html
Copyright © 2011-2022 走看看