黑马程序员技术交流社区
标题:
面向对象中的问题
[打印本页]
作者:
小笨
时间:
2014-8-3 11:28
标题:
面向对象中的问题
本帖最后由 小笨 于 2014-8-4 08:31 编辑
在C#中怎么实现接口?
作者:
许庭洲
时间:
2014-8-3 12:16
1.接口可以通过类或结构来实现;
2.用类来实现接口时,接口的名称必须包含在类声明中的基类列表中。
作者:
rende1991
时间:
2014-8-3 12:26
定义接口后,再定义一类来实现接口的相应功能。
作者:
130880130880
时间:
2014-8-3 12:38
接口
1完全抽象的一种约定
2.接口就是用来实现了
语法:[访问修饰符] Interface 接口名
{
..接口成员定义
}
接口就是一个特殊的抽象类,接口中成员默认就是抽象的
接口中的成员不能有任何实现.
接口的成员不能有访问修饰符 默认就是public
接口中只能定义索引器 方法 属性(属性不是要自动产生字段么?不是自动属性) 事件 属性里不能有实现
接口的命名规范 I**able 实现这个接口的类 就具有了这样的功能.
接口可以多实现 类只能单继承. 如果同时实现接口又继承 那么父类要写在第一个.
接口的实现类必须实现接口的所有的成员.
接口可以继承接口
接口不能被实例化 因为没有实现
可以把接口成员实现为虚方法或者抽象方法
显示实现接口,解决方法冲突问题 只能通过接口来访问...因为显示实现后是private
接口污染 因为接口可以多实现 所以不需要定义多功能接口 因为有些功能不是子类一定要实现的
接口的本质是1个特殊的抽象类..
不能有构造函数.
作者:
u010209195
时间:
2014-8-3 18:59
public class A:ITest
{
//需要实现ITest接口中的方法、属性等等
}
复制代码
和继承有点类似,不过实现接口的话 一般就需要全部实现接口中的方法或属性;
作者:
陈君
时间:
2014-8-3 19:09
你好,请加下我的qq:295763713
作者:
麦田怪圈
时间:
2014-8-4 16:00
路过学习!
作者:
周星星同学
时间:
2014-8-4 22:14
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Demo18
{
//接口
interface ICha //chatou
{
//定义接口时,无需访问修饰符
void use(string s); //使用插头 方法名+返回类型+参数=规格
}
class Student: ICha //继承接口 并要实现接口里面的所有方法
{
public void use(string s) //无需override 在 子类里面 实现 接口里面的方法叫(实现方法)
{
Console.WriteLine(s);
}
}
class Program
{
static void Main(string[] args)
{
//Student stu = new Student();
//stu.use("电风戽");
//stu.use("空调");
//ICha ic = new ICha(); //接口不能实例化,不能new
}
}
作者:
FrancisTan
时间:
2014-8-4 23:26
本帖最后由 FrancisTan 于 2014-8-4 23:32 编辑
C#中实现接口跟C++中的继承有点类似,可以理解为多继承显然它的实现是通过继承来实现的,语法与类的继承一样,不过区别是,在C#中,类的继承只能是单继承,而接口则不限,接口与接口之间用“,”隔开。
例如: (父类) (接口1) (接口2)
class Person : Animal, ISound, IPlay, ......
{}
然后在类的定义中,实现接口中的方法体即可!
作者:
lc6897094
时间:
2014-8-5 15:50
定义属性,属性用来给对象赋值和取值
class Person
{
private int age;
public int Age
{
set;
get;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2