C#拾遗之小知识(三):类

是抽象的概念。

  例如Dog描述了狗有的一些特性,体重、身高、年龄、以及吼叫等等。

public class Dog  {  string dogBreed;//犬种  int weight; //体重  int height; //升高  int age; //年龄  public void bellow()  {  Console.WriteLine("旺旺");  }  }

登录后复制

这Dog类是抽象的,描述了一些特性,不是具体的一条狗。

  让后下面定义一个邻居的狗”大哈”,它属于Dog类。

  Dog 大哈 = new Dog();

  实例化创建”大哈”的对象,现在”大哈”是具体的存在。让后可以对”大哈”对象进行具体的描述。如”大哈”的犬种是哈士奇,体重35公斤等等。

  大哈.dogBreed = “哈士奇”;

  大哈.weight = 35;

  ……

  让后”大哈”吼叫

  大哈.bellow(); 这是一个狗的吼叫方法

  注意:对Dog类不能直接赋值特性。就比如int = 8; 一样,没有意义。没指特定的狗的情况下,你不能说狗体重、身高、犬种多少一样。

  类的最大的好处在于它能将一个实体的属性和行为封装在一个独立的代码单位中。按上面的例子Dog类中封装了犬种、身高、体重、年龄属性,以及吼叫方法。

  访问类型有Public公共、Private私有、Protected受保护(继承可访问)、internal内部、Protected internal内部受保护(继承可访问)。对类、字段、方法、属性、构造函数都可用。

  类可包含:字段、属性、构造函数、方法。

  类成员方法:

  语法:

  访问类型 返回类型 方法名称(接受参数,)

  {方法体}

  访问类型默认public

  如:

  Public void Method(int i , string s,…….)  {方法体}

登录后复制

  多重方法:方法名称一样,参数不一样

  

public string d(int i , int j)  { }  public void d(string i)  { }  public void d(int i)  { }  public int d(char d)  {  return 0;  }

登录后复制

  类构造函数:

  new创建对象时初始化成员变量。构造函数的函数名和类名相同。可以有多重构造函数,如同多重方法。

  例:

  

class Dog  {  Public Dog(string dogBreed,int Weight)  {  weight = Weight;  this.dogBreed = dogBreed;  }  Public Dog(string dogBreed)  {  this.dogBreed = dogBreed;  }  string dogBreed;//犬种  int weight; //体重

登录后复制

  }

  上例子中含有两个接受参数不同的多重构造函数。

  this代表当前实例(引用当前对象),Dog实例的dogBreed字段。

  类成员变量(字段):

  上例子中的dogBreed、weight是该类成员变量。可以在定义的时候初始化,而不用将每个变量都在构造函数中执行初始化。

  类成员属性:

  C#提供了get;set;访问器。用属性封装类的数据。

  例:

  

private int height;  public int Height  {  get { return weight; } 读取  set { weight = value; } 赋给  }

登录后复制

  上例子中其他类无法直接读取height,只能通过访问器进行访问操作。

  get set前可以设置访问类型。

  对象销毁:

  析构函数,C#中的析构函数声明:

  

~textClass()  {  析构处理  }

登录后复制

  还可以写成:

 

 textClass.Finalize()  {  析构处理  Base.Finalize();  }

登录后复制

以上就是C#拾遗之小知识(三):类的内容,更多相关内容请关注PHP中文网(www.php.cn)!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2551586.html

(0)
上一篇 2025年3月6日 06:13:38
下一篇 2025年2月21日 13:22:41

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • C#拾遗之小知识(四):继承

    方法重写:     基类方法标识virtual关键字,子类(继承类)中方法重写标识override关键字。     重写的方法必须跟基类的类型相同,如方法名称、返回和接受参数。   public class Class1    {     …

    编程技术 2025年3月6日
    200
  • C#拾遗之小知识(五):抽象类&接口

    抽象类abstract: 抽象类和抽象方法可以用abstract关键字进行标识。就是没有完全定义的类或方法。所以不能直接实例化操作。 就因为他没完全定义所以不能用sealed关键字进行密封。 抽象方法不含程序主体:  public abst…

    编程技术 2025年3月6日
    200
  • C#拾遗之小知识(六):数组

    数组: Int [] intArray = new int[6];Int [][] intArray = new int[2][];Int [][][] intArray = new int[2][][];intArray[1][2][1]…

    编程技术 2025年3月6日
    200
  • C#进阶系列——AOP?AOP!

    前言:这篇打算写写aop,说起aop,其实博主接触这个概念也才几个月,了解后才知道,原来之前自己写的好多代码原理就是基于aop的,比如mvc的过滤器filter,它里面的异常捕捉可以通过filterattribute,iexceptionf…

    2025年3月6日 编程技术
    200
  • C#中CLR(公共语言运行时)与IL(中间代码)

    .net平台中的CLR 首先要说明的是,.net平台与c#不是一回事 它是c#,vb.net等程序运行的平台。 CLR是公共语言运行时,是 .NET Framework的重要组成部分。它提供了内存管理、线程管理和异常处理等服务,而且还负责对…

    2025年3月6日
    200
  • C#基础系列:Linq to Xml读写xml

    前言:xml的操作方式有多种,但要论使用频繁程度,博主用得最多的还是linq to xml的方式,觉得它使用起来很方便,就用那么几个方法就能完成简单xml的读写。之前做的一个项目有一个很变态的需求:c#项目调用不知道是什么语言写的一个web…

    编程技术 2025年3月6日
    200
  • C#基础之内存分配

    1.创建一个对象 一个对象的创建过程主要分为内存分配和初始化两个环节。在.NET中CLR管理的内存区域主要有三部分:栈、GC堆、LOH堆,栈主要用来分配值类型数据。它的管理是有系统控制的,而不是像GC堆那样是由GC控制的。当线程执行完值类型…

    2025年3月6日
    200
  • C#中使用gRPC

    由于有nuget,使得c#在配置项目时非常简单。 1. 在NuGet中添加ProtocolBuffer和gRPC引用 protocol buffer 3.0版本,在NuGet插件界面选择Include Prerelease,查找google…

    编程技术 2025年3月6日
    200
  • C#理解泛型

    简介 Visual C# 2.0 的一个最受期待的(或许也是最让人畏惧)的一个特性就是对于泛型的支持。这篇文章将告诉你泛型用来解决什么样的问题,以及如何使用它们来提高你的代码质量,还有你不必恐惧泛型的原因。 泛型是什么? 很多人觉得泛型很难…

    编程技术 2025年3月6日
    200
  • C#基础之yield与Singleton

    1.实例解析yiled的作用 最近参加java笔试题第一次见到yield这个关键字,既然遇见了那肯定要掌握,下面是c#中关于yield关键字的总结。yield这个关键字作用于迭代器块中,其最本质的功能有2个:一是“依次”向枚举对象提供值,二…

    2025年3月6日
    200

发表回复

登录后才能评论