C# 类的声明详解

 更新时间:2017年01月21日 09:49:44   作者:liyongke  
本文主要对C# 类的声明进行详细介绍。具有一定的参考价值,下面跟着小编一起来看下吧

类是使用关键字 class 声明的,如下面的示例所示:

访问修饰符 class 类名 
 { 
 //类成员:
 // Methods, properties, fields, events, delegates 
 // and nested classes go here. 
 }

一个类应包括:

  • 类名
  • 成员
  • 特征

一个类可包含下列成员的声明:

  • 构造函数
  • 析构函数
  • 常量
  • 字段
  • 方法
  • 属性
  • 索引器
  • 运算符
  • 事件
  • 委托
  • 接口
  • 结构

示例:

下面的示例说明如何声明类的字段、构造函数和方法。 该例还说明了如何实例化对象及如何打印实例数据。 在此例中声明了两个类,一个是 Child类,它包含两个私有字段(name 和 age)和两个公共方法。 第二个类 StringTest 用来包含 Main。

class Child
 {
 private int age;
 private string name;
 // Default constructor:
 public Child()
 {
 name = "Lee";
 }
 // Constructor:
 public Child(string name, int age)
 {
 this.name = name;
 this.age = age;
 }
 // Printing method:
 public void PrintChild()
 {
 Console.WriteLine("{0}, {1} years old.", name, age);
 }
 }
 class StringTest
 {
 static void Main()
 {
 // Create objects by using the new operator:
 Child child1 = new Child("Craig", 11);
 Child child2 = new Child("Sally", 10);
 // Create an object using the default constructor:
 Child child3 = new Child();
 // Display results:
 Console.Write("Child #1: ");
 child1.PrintChild();
 Console.Write("Child #2: ");
 child2.PrintChild();
 Console.Write("Child #3: ");
 child3.PrintChild();
 }
 }
 /* Output:
 Child #1: Craig, 11 years old.
 Child #2: Sally, 10 years old.
 Child #3: N/A, 0 years old.
 */

注意:在上例中,私有字段(name 和 age)只能通过 Child 类的公共方法访问。 例如,不能在 Main 方法中使用如下语句打印 Child 的名称:

Console.Write(child1.name);   // Error 

只有当 Child 是 Main 的成员时,才能从 Main 访问该类的私有成员。

类型声明在选件类中,不使用访问修饰符默认为 private,因此,在此示例中的数据成员会 private,如果移除了关键字。

最后要注意的是,默认情况下,对于使用默认构造函数 (child3) 创建的对象,age 字段初始化为零。

备注:

类在 c# 中是单继承的。 也就是说,类只能从继承一个基类。 但是,一个类可以实现一个以上的(一个或多个)接口。 下表给出了类继承和接口实现的一些示例:

Inheritance 示例
class ClassA { }
Single class DerivedClass: BaseClass { }
无,实现两个接口 class ImplClass: IFace1, IFace2 { }
单一,实现一个接口 class ImplDerivedClass: BaseClass, IFace1 { }

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • C#获取串口列表实现实时监控串口

    C#获取串口列表实现实时监控串口

    本文主要介绍两种获取串口列表的方法,比较简单,方便大家使用,另外分享了一个已封装的API,需要的朋友可以参考下。
    2016-05-05
  • C#之WinForm跨线程访问控件实例

    C#之WinForm跨线程访问控件实例

    这篇文章主要介绍了C#之WinForm跨线程访问控件,实例讲述了跨线程访问控件的简单实现方法与用法,需要的朋友可以参考下
    2014-10-10
  • C#编程高并发的几种处理方法详解

    C#编程高并发的几种处理方法详解

    这篇文章主要为大家详细介绍了C#编程高并发的几种处理方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • c#中GetType()与Typeof()的区别

    c#中GetType()与Typeof()的区别

    c#中GetType()与Typeof()的区别,需要的朋友可以参考一下
    2013-04-04
  • 详解C#中委托,事件与回调函数讲解

    详解C#中委托,事件与回调函数讲解

    这篇文章主要介绍了详解C#中委托,事件与回调函数讲解,小编觉得挺不错的,现在就分享给大家,也给大家做个参考。
    2016-12-12
  • C#使用timer实现的简单闹钟程序

    C#使用timer实现的简单闹钟程序

    这篇文章主要介绍了C#使用timer实现的简单闹钟程序,涉及timer控件的使用及音频文件的操作技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • c#多线程网络聊天程序代码分享(服务器端和客户端)

    c#多线程网络聊天程序代码分享(服务器端和客户端)

    本程序使用VS2005 制作,程序分为三块,XuLIeHua类库下有我写的把结构序列化的类,还有就是服务器端和客户端
    2013-12-12
  • C#四舍五入MidpointRounding.AwayFromZero解析

    C#四舍五入MidpointRounding.AwayFromZero解析

    这篇文章主要介绍了C#四舍五入MidpointRounding.AwayFromZero,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • C#超实用代码段合集

    C#超实用代码段合集

    这篇文章主要介绍了C#超实用代码段合集,涉及C#针对图标、数学运算、拼音、日期、时间及文件夹等的相关操作技巧,需要的朋友可以参考下
    2015-11-11
  • C#对文件/文件夹操作代码汇总

    C#对文件/文件夹操作代码汇总

    有关文件的操作的内容非常多,不过几乎都是从下面的这些基础方法中演化出来的。比如对内容的修改,不外乎就是加上点字符串操作或者流操作。还有其它一些特别的内容,等在开发项目中具体遇到后再添加。
    2015-04-04

最新评论