上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 52 下一页

2012年6月27日

C#接口-接口的实现

摘要: C#定义了接口后,就要在子类中实现。C#中通常把子类和父类的关系称为继承,子类和接口的关系称为实现。子类可以继承一个父类,可以实现多个接口。接口中不能定义构造函数,所以接口不能实例化。下面我们看例子:using System;public interface IChoose{void On();void Off();}public class TV: IChoose{private string _tvname = "长虹";public void On(){ Console.WriteLine("{0}电视打开了", this._tvname);}pu 阅读全文

posted @ 2012-06-27 09:29 流星落 阅读(444) 评论(0) 推荐(0) 编辑

C#接口-接口作用

摘要: C#接口是一个让很多初学C#者容易迷糊的东西,用起来好像很简单,定义接口,里面包含方法,但没有方法具体实现的代码,然后在继承该接口的类里面要实现接口的所有方法的代码,但没有真正认识到接口的作用的时候就觉得用接口是多此一举,当然你这样想那是绝对绝对错误的,比尔盖茨的微软请的员工都是比尔盖茨还聪明的人,他们的C#能添这样的多此一举吗?可简单的这样理解接口:接口是方法的抽象,如果不同的类有同样的方法,那么就应该考虑使用接口。 例如,人和车都有“跑”的方法,那么就可以定义一个接口IRun //注意,定义接口时,里面的方法不能有方法体 //应该在类里再去实现 //而具接口的成员全是公有的,不应有修饰符 阅读全文

posted @ 2012-06-27 09:28 流星落 阅读(291) 评论(0) 推荐(0) 编辑

C#接口-接口概述

摘要: C#不支持多重继承,但是客观世界出现多重继承的情况又比较多。为了避免传统的多重继承给程序带来的复杂性等问题,C# 提出了接口的概念。通过接口可以实现多重继承的功能。接口是单纯对事物行为的描述。例如,电器都有“开”和“关”两个行为,开关的作用在于打开或关闭电器,而开关的形式也是不一样的。电灯、电视、电扇,电冰箱各自完成的开关的动作也是不一样的,但是所有的电器都必须具有开和关的功能,这是一个规定,在程序设计中,这个规定就是接口。C#中接口的作用的什么?不是可以继承吗?为什么还要用借口?抽象类或实体类,只能单一继承,接口可以多继承。子类只能有一个基类,但子类可以实现几乎无数个接口。接口只包含行为定义 阅读全文

posted @ 2012-06-27 09:27 流星落 阅读(272) 评论(0) 推荐(0) 编辑

C#接口-接口定义

摘要: 接口用来描述一种程序的规定,接口描述可属于任何类或结构的一组相关行为。实现接口的类或结构要与接口的定义严格一致。接口可由方法、属性、事件、索引器或这4种成员类型的任何组合构成。接口不能包含字段。接口成员一定是公共的。定义接口的语法如下:<访问修饰符> interface 接口名{//接口主体}下面定义一个开关的接口,代码如下:public interface IChoose{void On();void Off();}定义接口时要遵循的编码标准如下:1、接口名称必须使用大写字母“I”开头,如Icompute,IChoose。定义接口时必须注意以下内容:2、接口的访问修饰符可以选择使 阅读全文

posted @ 2012-06-27 09:27 流星落 阅读(732) 评论(0) 推荐(0) 编辑

C#多态性-抽象类对象引用子类实例

摘要: C#规定,抽象类不能实例化,如下代码会发生编译错误:Animal myanimal=new Animal();那么如下代码正确吗?Animal myanimal=new Dog();myanimal.Cry();这段代码是完全正确的。既然抽象类不能实例化,那么这段代码为什么又可以运行呢?首先要明确上面的代码并没有实例化抽象类,只是声明了一个抽象类的对象myanimal,实例化时必须通过构造函数来实现,这里调用的是子类的构造函数,所以实例化的是子类对象,只是抽象类对象引用了子类实例。那么这个对象是子类还是父类呢?using System;public abstract class Animal{ 阅读全文

posted @ 2012-06-27 09:26 流星落 阅读(1414) 评论(0) 推荐(0) 编辑

C#多态性-抽象类和抽象方法的使用

摘要: 定义抽象类和抽象方法的目的就是为子类提供一种规定,约束子类的行为。C#通过方法重写来实现抽象方法。当一个抽象基类派生一个子类时,子类将继承基类的所有特征,重新实现所有抽象方法。在子类中实现基类的抽象方法,是使用override关键字来重写基类方法。语法如下:访问修饰符 override 返回类型 方法(){//方法体}重写抽象方法和重写虚拟方法是一样的。不同的是在基类一种是虚拟方法,另一种是抽象方法。通过override关键字可以在子类中重写方法,这样每种动物的叫声不相同了。抽象类和抽象方法的作用:using System;public abstract class Animal{public 阅读全文

posted @ 2012-06-27 09:25 流星落 阅读(325) 评论(0) 推荐(0) 编辑

C#多态性-抽象类和抽象方法概述

摘要: 如果继承是面向对象设计理论的基石,那么抽象理论和方法就是继承理论的顶梁柱。在汉语词典中抽象是这样解释的:将几个有区别的物体的共同特性或形象抽取出来或孤立地进行考虑的行动或过程。可以看出,抽象就是从事物中提取特征和性质,并不是事物本身。具体应该如何理解呢?大家都知道,学生有一个共同的特征是必须学习,那么学什么,如何学,每一个学生就不一样了。这样可以提取学习这个动作为抽象方法,而不考虑具体内容。动物类都有叫的动作,具体动物如何叫,暂不考虑,先把共性提取出来。简单地说,用来描述这些共性的类就是抽象类,抽象类中不考虑具体实现,只确定必须具有的行为,就是抽象方法。抽象方法是一个没有实现的方法,使用关键字 阅读全文

posted @ 2012-06-27 09:24 流星落 阅读(244) 评论(0) 推荐(0) 编辑

C#多态性-抽象类的特点

摘要: 1、声明一个抽象方法使用abstract关键字。2、一个类中可以包含一个或多个抽象方法。3、抽象类中可以存在非抽象的方法。4、抽象类不能被直接被实例化。5、实现抽象类用“:”(冒号),实现抽象方法用override关键字。6、抽象类可以被抽象类所继承,结果仍是抽象类。7、抽象方法被实现后,不能更改修饰符。 using System; public abstract class Person { public abstract void SayHello(); public void about() { Console.WriteLine("Abstract D... 阅读全文

posted @ 2012-06-27 09:24 流星落 阅读(301) 评论(0) 推荐(0) 编辑

C#多态性-利用虚拟方法来实现多态

摘要: 我们看一个例子,假若有一个动物类,类中用方法cry()描述动物的叫声,不同的动物的叫声是不一样的。根据继承的特征,把类中公共部分的内容放在父类中,那么cry()方法就应该放在父类中,根据这样的思路编写程序如下:using System;class Anmial{public void Cry(){Console.WriteLine("这是动物的叫声");}}class Dog: Anmial{public void Run(){ Console.WriteLine("狗路得快");}}class Cat: Anmial{public void Look( 阅读全文

posted @ 2012-06-27 09:23 流星落 阅读(319) 评论(0) 推荐(0) 编辑

C#重载和重写的区别

摘要: 重载就是在同一个类中,方法名相同,参数列表不同。参数列表不同包括:参数的个数不同,参数类型不同等。重载特征: I.方法名必须相同 II.参数列表必须不相同,与参数列表的顺序无关 III.返回值类型可以不相同用于在给定了参数列表和一组候选函数成员的情况下,选择一个最佳函数成员来实施调用。 public void test(int x,int y){} public void test(int x,ref int y){} public void test(int x,int y,string a){}重写就是子类重写父类的方法,在调用的时候,子类的方法会覆盖父类的方法,也就是会调用子类的方法。在 阅读全文

posted @ 2012-06-27 09:22 流星落 阅读(285) 评论(0) 推荐(0) 编辑

上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 52 下一页

导航