如果类声明为静态类,则内存中只存在一个副本,并且客户端代码只能通过该类自身而不是“实例变量”访问该类。

创建对象

 

Customer object1 = new Customer();

 

创建类的实例后,将向程序员传递回对该对象的引用。在前面的示例中,object1是对基于Customer的对象的引用。此引用引用新对象,但不包含对象数据本身。实际上,可以在根本不创建对象的情况下创建对象引用:

Customer object2;

建议不要创建像这样的不引用对象的对象引用,因为在运行时通过这样的引用来访问对象的尝试将会失败。但是,可以创建这样的引用来引用对象,方法是创建新对象,或者将它分配给现有的对象,如下所示:

Customer object3 = new Customer();
Customer object4 = object3;

此代码创建了两个对象引用,它们引用同一个对象。因此,通过object3对对象所做的任何更改都将反映在随后使用的object4中。由于基于类的对象是按引用来引用的,因此类称为引用类型。


类继承

继承是通过使用“派生”来实现的,而派生意味着类是使用“基类”声明的,它的数据和行为从基类继承。通过在派生的类名后面追加冒号和基类名称,可以指定基类,如下所示:

public class Manager : Employee
{
    // Employee fields, properties, methods and events are inherited
    // New Manager fields, properties, methods and events go here...
}

当类声明基类时,它继承基类除构造函数以外的所有成员。
C#中的类只能直接从一个基类继承。但是,因为基类自身也可能继承自另一个类,所以类可以间接继承多个基类。而且,一个类可以直接实现一个以上的接口。

类可以声明为抽象类。抽象类包含具有签名定义但没有实现的抽象方法。抽象类不能进行实例化。只能通过实现抽象方法的派生类使用抽象类。相比之下,密封类不允许其他类从其派生。

相关文章:

  • 2021-09-22
  • 2021-05-19
  • 2021-09-17
  • 2021-09-23
  • 2021-08-24
  • 2022-01-05
  • 2022-12-23
猜你喜欢
  • 2021-07-03
  • 2022-12-23
  • 2022-12-23
  • 2021-11-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案