栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C# 入门:类

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C# 入门:类

1,类只能进行单一继承,但是可以继承多个接口(interface)
2,接口可以继承多个接口
3,override 用于重写基类成员  但是需要与 virtual 配对使用 
4,Tostring  是每个对象都有的方法,因为其来自 Object 是所有对象的基类,可重写。
5,abstract   使用该关键字修饰的成员,其派生类必须实现该成员 (成员使用了abstract 类也需使用abstract 修饰符)
6,sealed  由该关键字修饰的类不能作为基类即不可派生。也可以取消virtual 成员的虚含义
7,static 
        1)静态类  无法实例化,同时需要提供静态构造函数
        2)静态方法  调用必须使用类名访问   不能使用实例进行访问
        3)静态方法可以进行重载,但不能进行重写,因为它们属于类,而不属于类的任何实例
        4)如果类包含静态字段,则提供在类加载时初始化它们的静态构造函数
        5)静态函数中无法访问非静态成员,因为静态成员属于类,不属于任何实例,非静态成员会随实例的不同而不同。
9,非静态方法里面可以使用静态成员。
10,访问权限设置 

注:程序集指的是编译后生成的 dll或exe文件,相同程序集即表示在同一个dll或exe文件中

11,set、get、init、value   属性的隐藏实现,set用于修改属性值,get用于获取属性值,init只在
对象构造的时候分配新值。value 是get、set访问器分配的值。

class TimePeriod
{
   private double _seconds;

   public double Hours
   {
       get { return _seconds / 3600; }
       set {
          if (value < 0 || value > 24)
             throw new ArgumentOutOfRangeException(
                   $"{nameof(value)} must be between 0 and 24.");

          _seconds = value * 3600;
       }
   }
    private string _name;
    public string Name  // read-write instance property
    {
        get => _name;
        set => _name = value;
    }
}

注:
        1)set、get、init可类似方法,set可修改,get可读。(可参考cocos的property)
        2)可用 init 访问器代替 set 访问器将属性设为只读。
        3)set、get、init可控制属性是读写、只读、只写
12,重载:相同的函数名,函数的形参不同,根据形参的个数,调用对应的函数
13,重写:使用 override 覆盖基类方法,重新实现。
14,构造函数:
        1)在创建类的实例时,会自动调用改方法,并进行初始化一些成员。
        2)可进行重载。
        3)函数名必须与类名相同。
        4)无参构造函数,编译器会自动提供
        5)如果构造函数被声明为私有,则该类无法被实例化
        6)基类构造函数可以使用base关键字调用,如下:

public class Manager : Employee
{
    public Manager(int annualSalary)
        : base(annualSalary)
    {
        //Add further instructions here.
    }
}

             注:1)如果基类没有提供无参数构造函数,派生类必须使用 base 显式调用基类构造函数
15,类的所有成员,如果没有使用修饰符进行修饰,默认是 private私有,包括构造函数
16,终结器即虚构函数   ~name(){}
        1)无法在结构中定义终结器。 它们仅用于类。
        2)一个类只能有一个终结器。
        3)不能继承或重载终结器。
        4)不能手动调用终结器。 可以自动调用它们。
        5)终结器不使用修饰符或参数。
        6)可进行重写
        7)编译器会自动生成一个虚构函数
        8)调用顺序 :子类虚构 =》父类虚构
17,在单条语句中实例化对象或集合 并进行成员赋值,如下:

public class Cat
{
    // Auto-implemented properties.
    public int Age;
    public string Name { get; set; }
    public Cat(){}
    public Cat(string name)
    {
        this.Name = name;
    }
}

//类测试
Cat cat = new Cat { Age = 10, Name = "hello" };
Cat sameCat = new Cat("Fluffy"){ Age = 10 };
Console.WriteLine($"{cat.Age}+ {cat.Name}");
Console.WriteLine($"{sameCat.Age}+ {sameCat.Name}");
//集合测试
int[] array2 = new int[] {0, 2, 4, 6, 8};

18,partial  关键字 可以把一个类、一个结构、一个接口或一个方法的定义到两个或更多的文件中,编译时会把所有部分组合起来。分部类与方法

        

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/698474.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号