由于周五我有一些事情没来得及总结当天的知识,所以在今天总结一下周五在云和学院所学到的有关接口和方法的知识。

理论:

接口:

•接口的定义:interface关键字,接口中可以有属性、方法(未实现)
•接口的名称通常以“I”开头,如IList
•如果一个类即继承了类又实现了接口,那么类必须写在前面。一个类只能继承一个父类,但可以实现多个接口。
•class Student : Person , IComparable(这是已经定义好的接口)
•完全抽象的一种约定
•接口就是用来实现的
•语法:

[访问修饰符] interface 接口名

{

// 接口成员定义

}

Interface IfFly

{

void IFly();

}

•接口只有方法、属性、索引和事件的声明,所有成员默认为public
 
C#中的接口和类有什么异同

不同点:

•不能直接实例化接口。

•接口不包含方法的实现。
•接口可以多继承,类只能单继承。
•类定义可在不同的源文件之间进行拆分。
•相同点:
•接口、类和结构都可以从多个接口继承。
•接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。
•接口和类都可以包含事件、索引器、方法和属性。
•类之间不支持,接口之间支持。类对接口叫做实现,不叫继承。 类是父亲、接口是能力,能有多个能力,但不能有多个父亲。
 
类与成员的修饰符
•类
–public、internal、abstract、sealed、static
•成员(方法)
–public、private、protected、internal
–protected internal
–abstract、virtual、new、override
–static
静态方法和实例方法(定义和调用)
实操:

橡皮rubber鸭子、木wood鸭子、真实(real)的鸭子duck。三个鸭子都会游泳,而橡皮鸭子和真实的鸭子都会叫,只是叫声不一样,橡皮鸭子“唧唧”叫,真实地鸭子“嘎嘎”叫,木鸭子不会叫.接口实现.

首先定义一个父类,Duck,

定义接口和个子类,分别是:rubber,wood,real。

在Main函数里使用

方法的运用:

动物animal   都有吃eat和叫bark的方法,狗dog和猫cat叫的方法不一样.父类中没有默认的实现所哟考虑用抽象方法。

根据题意,定义父类,和两个子类

定义子类

在Main函数里使用

好了,今天就总结到这里了,明天就又开始新的一周了, 加油!

C#中接口和方法的运用(Fourteenth Day)的更多相关文章

  1. Java中接口作为方法的返回

    在<算法>中的散列表一节,在用拉链法实现散列表的API时要求实现以下一个方法: public Iterable<Key> keys() 我们知道Iterable是一个接口,那么 ...

  2. java中获取接口(方法)中的参数名字(eclipse设置编译参数)(java8 javac -parameters)

    interface接口参数 jdk1.7及以前使用spring功能实现的: 注意: 1.该功能只能获取类的方法的参数名,不能获取接口的方法的参数名. public static void test() ...

  3. 关于Java中继承多接口同名方法的问题

    在Java中如果一个类同时继承接口A与B,并且这两个接口中具有同名方法,会怎么样? 动手做实验: interface A{ void fun(); } interface B{ void fun(); ...

  4. JDK8.0接口中的默认方法和静态方法

    我们在接口中通常定义的方法是抽象方法,即没有方法体,只有返回值类型和方法名:(public abstract) void Method(); 类在实现接口的时候必须重写抽象方法才可以 jdk8中新加的 ...

  5. Java8新特性_接口中的默认方法

    默认方法由来猜想 1. Collection接口.Collections公共类.  同是操作集合,为啥要搞俩?没必要.在接口中搞一些默认实现,一个接口即搞定了. 2. Java8支持Lambda表达式 ...

  6. Java 8 接口中的默认方法与静态方法

    Java 8 接口中的默认方法与静态方法 1. 接口中的默认方法 允许接口中包含具有具体实现的方法,该方法称"默认方法",默认方法使用用 default 关键字修饰. public ...

  7. Java8接口中的默认方法

    Java8新增特性,可以为接口中添加默认方法,实现这个接口的所有类都会继承这个方法,这样看起来,接口和类的界限就有点不明显了,同时也会带来多继承,菱形问题.这样设计的初衷是什么? 重所周知,java8 ...

  8. python基础----继承与派生、组合、接口与归一化设计、抽象类、子类中调用父类方法

    一.什么是继承                                                                          继承是一种创建新的类的方式,在pyth ...

  9. python基础之类的继承与派生、组合、接口与归一化设计、抽象类、子类中调用父类方法

    一.什么是继承 继承是一种创建新的类的方式,新建的类可以继承自一个或者多个父类,原始类称为基类或超类,新建的类称为派生类或子类. 派生:子类继承了父类的属性,然后衍生出自己新的属性,如果子类衍生出的新 ...

随机推荐

  1. Html 小插件10 即时新闻

    效果图 <!--即时新闻--><iframe name="alimamaifrm" frameborder="0" marginheight= ...

  2. openstack中iptables的使用

    openstack中nova使用了iptables实现其网络相关功能,乍看openstack的iptables表比较复杂,整理了一下iptables的filter表和nat表的结构,以一个all in ...

  3. Michael Kors成了时尚行业的公敌-股票频道-和讯网

    Michael Kors成了时尚行业的公敌-股票频道-和讯网 Michael Kors成了时尚行业的公敌 字号   评论 邮件 纠错 2014年03月03日17:32 来源:财经天下    全球消费不 ...

  4. Java学习——Ubuntu下jdk的安装以及Java环境的配置

    第一步.下载 到官网下载jdk,在Java SE Development Kit 7uXX里面,把Accept License Agreement 打勾,这样才能下载jdk,然后我们选择对应的Ubun ...

  5. HDU1695-GCD(数论-欧拉函数-容斥)

    GCD Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  6. Java基础:容器

    转载请注明出处:jiq•钦's technical Blog 一.Collection:存放独立元素 Collection中的接口都是可选操作,事实上现类 并不一定实现了其全部接口,这是为了防止&qu ...

  7. Javascript声明变量类型

    声明变量类型 当您声明新变量时,可以使用关键词 "new" 来声明其类型: var carname=new String; var x= new Number; var y= ne ...

  8. UVa1368/ZOJ3132 DNA Consensus String

    #include <stdio.h>#include <string.h> int main(){    int a[4][1000]; // A/C/G/T在每列中出现的次数 ...

  9. elasticsearch-5.0.0初见

    基础概念 Elasticsearch有几个核心概念.从一开始理解这些概念会对整个学习过程有莫大的帮助. 接近实时(NRT) Elasticsearch是一个接近实时的搜索平台.这意味着,从索引一个文档 ...

  10. java和.net 处理任意格式日期字符串转日期类型,

    1.SimpleDateFormat.parse 把指定格式字符串转日期类型 public static Calendar convToCalender(String str,String templ ...