zoukankan      html  css  js  c++  java
  • head first c# -- 第七章 (接口与抽象类)

    接口的作用:

    例子:有鸡,鸭,牛,羊4个类,还有farmer类;

    farmer.feed(obj obj) { obj.eat() } //

    没有接口:

    farmer.feedChicken(Chicken chicken){ chicken.eat(); }

    farmer.feedDuck(Duck duck){ duck.eat(); }

    farmer.feedCow(Cow cow){ cow.eat(); }

    farmer.feedSheep(Sheep sheep){ sheep.eat(); }

    使用接口:

    interface  AnimalEat{

      void eat();

    }

    farmer.feed(AnimalEat  animal){

      animal.eat();

    }

    使用接口:

    1.只用一个方法即可实现不同类对象的方法调用,方便维护;

    2.可以为具有实现了某一功能的不同类的对象定义一个接口类型,方便数据管理;

    3.使用接口不减少代码

    4.接口只能声明属性和方法,并且由类去实现定义

    5.不能使用 new 实例化

    AnimalEat[] animals;

    AnimalEat duck = new Duck();

    AnimalEat chicken = new Chicken();

    AnimalEat cow = new Cow();

    AnimalEat sheep = new Sheep();

    animals[0] = duck;

    animals[1] = chicken;

    animals[2] = cow;

    animals[3] = sheep;

    抽象类:abstract 不能使用 new 实例化的类,

    1.声明字段,属性和方法,由子类进行实现定义。

    2.也可以在抽象类中实现方法

  • 相关阅读:
    linux内核的若干问题
    shell(四)--turboastat
    Mac系统维护
    花卉养殖(1) 黄叶
    你就是佛(1)- 本体、开悟与思想
    linux 工具(2)----- crontab定时任务管理
    vim (四) 使用技巧
    linux kernel __init和__exit宏的作用
    优秀的网站
    Mac OSX 快捷键&命令行
  • 原文地址:https://www.cnblogs.com/lyc10/p/11608244.html
Copyright © 2011-2022 走看看