博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[.net 面向对象编程基础] (9) 类和类的实例
阅读量:7089 次
发布时间:2019-06-28

本文共 2680 字,大约阅读时间需要 8 分钟。

[.net 面向对象编程基础] (9) 类和类的实例

 

类 ,顾名思义就是分类、类别的意思。我们要面向对象编程,就需要对不同的事物进行分类。类可以说是.net面向对象的核心。

类:就是具有相同的属性和功能的对象的抽象的集合。

1. 类的定义 

    <访问修饰符> class <类名> { 类成员(字段、属性、方法、事件)}

   举例说明,比如“人类”这就是一个类,里面可以包含属性 比如性别,种族,国家等。除了包含属性之外,还包含一些其他功能,比如:吃饭、睡觉等,可以理解为类的方法。

代码,如下:    

1         class Person 2         { 3             public string gender { get; set; } 4             public string race { get; set; } 5             public string Country { get; set; } 6             public string Eat(string strCountry) 7             { 8                 switch (strCountry) 9                 {10                     case "美国":11 12                         return "爱吃西餐";13 14                     case "韩国":15 16                         return "爱吃泡菜";17                     default:18                         return "不知道";19                 }20             }21         }

 

  对于类的修饰符,支持上节说的五个访问修饰符

访问修饰符

说明

public

公有访问。不受任何限制。

private

私有访问。只限于本类成员访问,子类,实例都不能访问。

protected

保护访问。只限于本类和子类访问,实例不能访问。

internal

内部访问。只限于本项目内访问,其他不能访问。

protected internal

内部保护访问。只限于本项目或是子类访问,其他不能访问

  •  类的命名空间默认修饰符为:public
  •  类默认的访问修饰符为:internal 
  •  类的成员默认的访问修饰符则为:private
  •  类成员的作用域永远超不出包含它的类
  •  可以申明一个静态类static class ClassName,但是它的成员必须全部显式定义为静态

2.  类的实例化

  类的实例 :就是类的一个真实的对象

  <类名>  <实例名> = new <类名>([构造函数的参数])

    比如上面定义的人类,是一个类,而具体的某一个人,就是人类的实例,从类到类的实例的这个过程,叫类的实例化。  

Person person=new Person();

3. 构造函数

构造函数,又叫构造方法,就是对类进行初始化的方法。

其名称同类名,没有返回值,也不需要void ,在new的时候调用。

所有的类都有构造函数,只不过C#会默认一个无参数的构造函数,如果不定义,则使用默认。

如果定义了构造函数,则默认失效。

4. 嵌套类

     C#允许使用类嵌套

     嵌套类型被视为是外层类型的成员,因此嵌套类型可以访问外层类型中的所有其他成员。

     根据类的成员默认访问修饰符为:private的原则,嵌套类默认访问修饰符为private

     嵌套类型可以自由访问外层类型的成员,而不在乎那些成员是否私有。外层类型如果想访问嵌套类型,则要受到访问规则的限制。

     关于嵌套类的继承(后面会详细说明继承),如果一个类型继承了一个包含嵌套类型的类型,那么它也会自然的继承基类型中的嵌套类型,因为那个嵌套类型本身就是基类型的一个成员。因此只要那个嵌套类型不是private或者天生不能被继承的,子类型中新声明的嵌套类型还可以继承那个嵌套类型。

下面是嵌套类代码:

1 static class Tree2 {3     private  static string _treeLeafColor = "Green";4     static class  AppleTree5     {6         private static string appleTreeLeaf = _treeLeafColor;7     }8 }

5. 分布式类

某些类功能复杂,有大量的字段、属性,事件、方法,甚至套嵌成员。如果将类定义都写在一起,文件庞大,代码行数多,不便于理解和调试。

分布式类的特征:

A、相同的类名;
B、有partial修饰符;
C、有相同的命名空间;

//文件名为 partOne.csusing System;public partial class example{  public void method1(){}} //文件名为 partTwo.csusing System;public partial class example{  public void method2(){}}

两个方法都属于类example但被放到不同的文件中,编辑器在发现partial后检查类名和命名空间相同,会自动把文件编译到一起,形成一个完整的类。

要点:

1.类可以使用修饰符static声明为静态类,申明静态后,类下所有成员必须是静态;

2.类的默认访问修饰符为:internal,定义一个私的类时,要添加修饰符private;而类的成员默认访问修饰符则为:private,公有方法需要申明为:public

3.类的命名规范:采用首字母大写规则,不要使用系统类名或与修饰符相同的名字;

  

==============================================================================================

 <如果对你有帮助,记得点一下推荐哦,有不明白的地方或写的不对的地方,请多交流>

============================================================================================== 

转载地址:http://chyql.baihongyu.com/

你可能感兴趣的文章
飞天,进化!
查看>>
20.3. PHP_INI
查看>>
72.11. this is incompatible with sql_mode=only_full_group_by
查看>>
C# 海康DVR客户端开发系列(3)—— 连接DVR和图像预览
查看>>
为创业我做了十年的程序员,你告诉我“程序员不适合创业”?!
查看>>
mokoid android open source HAL hacking in a picture
查看>>
RCF库ClientStub.setAutoReconnect
查看>>
Google Chrome Resize Plugin
查看>>
java编程之:Unsafe类
查看>>
序列作为主键使用的原理、优缺点讨论
查看>>
iOS - AutoLayout
查看>>
如何将dubbo封装成http协议
查看>>
Android版本和API Level对应关系
查看>>
[20150806]scn headroom.txt
查看>>
使用shell脚本查看数据库负载情况
查看>>
【MOS】12c DataPump EXPORT (EXPDP) Enhancements (文档 ID 2171666.1)
查看>>
2018年,5个关于区块链趋势的基本预测
查看>>
美国洛杉矶之行
查看>>
教你用深度学习LSTM网络预测流行音乐趋势(附代码)
查看>>
JSP 内置对象Response
查看>>