C#学习日记-接口于类

原创 2016年08月29日 17:13:24

记录一下今天学习的C#中的一些要点:

       C#与C++等语言最大的区别莫过于C#中的接口。接口类似与类,但也有区别,如下:

1、接口类似于类,但接口的成员都没有执行方式,它只是方法、属性、事件和索引的组合而已,并且也只能包含这四种成员;类除了这四种成员之外还可以有别的成员(如字段)。
2、不能实例化一个接口,接口只包括成员的签名;而类可以实例化(abstract类除外)。
3、接口没有构造函数,类有构造函数
4、接口不能进行运算符的重载,类可以进行运算符重载
5、接口的成员没有任何修饰符,其成员总是公共的,而类的成员则可以有修饰符(如:虚拟或者静态)。
6、派生于接口的类必须实现接口中所有成员的执行方式,而从类派生则不然。

一、属性

    C#中提供了属性成员,通过设置一个属性成员可以对对象或类进行某些特性的设置或查询。

设置属性用的代码快为set ,查询为get.示例如下:

public class Date

{

        private int Day =7;

        public: int  day       //设置属性信息,为int类型

        {

             get {return  Day;}

             set

                 {

                        if((value>0)&&(value<8))            //value为一个隐式参数,参数类型是属性的类型
			{
     				Day=value;
			}}}}

}

二、静态函数不对特定实例进行操作,在静态方法中引用this会导致编译错误。

三、结构

结构具有以下特点:

1. 结构是值的类型

2. 向方法传递结构时,结构是通过传值方式传递的,而不是作为引用传递的。

3.结构的实例化可以不使用new运算符。

4. 结构可以声明构造函数,但他们必须带参数。

5. 一个结构不能从另一个结构或类继承。所有结构都直接继承自System.ValueType,后者继承自System.Object。

6. 结构可以实现接口。

7.在结构中初始化实例字段是错误的。

四、类

proteced 的可访问性是只有子类(派生类)才能访问proteced成员,基类和外部代码都不能访问proteced成员。

override 类型表示重写。重写方法只能用于重写基类中的虚函数。不能与new 、static、或者virtual同时使用。

virtual 修饰符不能与private、static、abstract或者override修饰符同时使用。

五、抽象类

     抽象类的定义形式为:

访问修饰符  abstract class  类名:基类或接口

{


}

抽象类的实现需要继承抽象类的子类的对象来实现。

抽象类与非抽象类的区别如下:

1.抽象类不能直接实例化。

2.抽象类中可以包含抽象成员,但非抽象类不可以。

3.抽象类不能被密封。


        抽象类与接口的区别主要如下:

1. 他们的派生类只能继承一个基类,即只能直接继承一个抽象类,但可以继承任意多个接口。

2.抽象类中可以定义成员的实现,但接口中不可以。

3. 抽象类中可以包含字段、构造函数、析构函数、静态成员或常量等,接口中不可以。

4。抽象类中的成员可以是私有的(只要他们不是抽象类的)、受保护的、内部的或受保护的内部成员(受保护的内部成员只能在应用程序的代码或派生类中访问),但接口中的成员必须是公共的。

-----------------------------------------------------------------end------------------------------------------------------------------------


版权声明:本文为博主原创文章,未经博主允许不得转载。

基于c# 类、接口、结构的联系与区别详解

原文地址:点击打开链接 本篇文章是对c#中类与接口以及结构的联系与区别进行了详细的分析介绍,需要的朋友参考下 一.C#类与结构的差别 1. 值类型与引用类型 结构是值类型:值类型在堆栈...
  • qq798833488
  • qq798833488
  • 2015年06月25日 23:32
  • 1057

c# 委托的学习日记

                曾经对委托和事件非常头疼,好在现在以自己的方式入门了,就行以自己的方式把它过一遍,当作学习日记吧。      委托(delegate)是一种引用类型,我们在处理他的时候...
  • huomm
  • huomm
  • 2007年11月21日 20:47
  • 19176

Web前端学习日记1

博客,你好,从今天开始,我就会开始在你这里发表我的Web前端学习日记,请多多指教哦!       今天是从HTML基础学起,虽然说以前有上过类似的课程,但是还是学到了很多,最大的收益就是又掌握了很...
  • huangmeixiang502
  • huangmeixiang502
  • 2017年01月10日 21:56
  • 270

学习日记-html5

已掌握:学习并使用过HTML, CSS, 但并不熟练,特别是css常用效果了解但对于不常用的能实现的效果不清晰,html的各种标签除常用部分,其他在使用时需要去查询. 今日学习:html5 发展,与...
  • trch1989
  • trch1989
  • 2017年02月06日 16:50
  • 177

linux学习日记!!

一,用户的理解 在系统中用户储存为若干字符串+若干个系统配置文件 联系到的配置文件: /etc/passwd        用户信息 /etc/shadow        用户认证信息 /e...
  • SjmMx1314aini
  • SjmMx1314aini
  • 2017年02月13日 00:04
  • 138

2016年寒假学习日记

svn配置管理 mock server 创建测试服务 junit测试 eclipse 插件开发 osgi框架 java bean和oracle type:公司实现,type编程http://blog....
  • xdyzyh
  • xdyzyh
  • 2017年02月20日 21:12
  • 167

C#——找出实现某个接口的所有类

C#——找出实现某个接口的所有类
  • u012526003
  • u012526003
  • 2016年04月17日 09:23
  • 2186

C#中的接口和类有什么异同。

不同点: 不能直接实例化接口。 接口不包含方法的实现。 接口可以多继承,类只能单继承。 类定义可在不同的源文件之间进行拆分。   相同点: 接口、类和结构都可以从多个接口继承。 接口类...
  • X_X_OO
  • X_X_OO
  • 2016年09月13日 20:23
  • 1844

结构、类和接口----C#

结构、类和接口----C# 1、结构 语法: 结构修饰符 struct 结构名 { } 结构的特点: 结构是值的类型向方法传递结构时,结构是通过传值方式传递的,而不是作为引用传递的。结构的...
  • liyuqian199695
  • liyuqian199695
  • 2017年01月06日 19:13
  • 295

C#学习日记 Type类

TypeView例子。 using System; using System.Reflection; using System.Text; using System.Windows.Forms; ...
  • july_yeye
  • july_yeye
  • 2017年04月05日 17:21
  • 49
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#学习日记-接口于类
举报原因:
原因补充:

(最多只允许输入30个字)