18. C# -- 类,接口,构造函数,析构函数,

类和接口的定义:

  • 类用class关键字定义,而接口用Interface关键字定义。
  • 可以使用public , internal 关键字定义类和接口的可访问性;
  • 类可以定义为abstract或sealed,以控制继承性;
  • 父类和父类接口在一个用逗号分隔的列表中指定,放在类或接口名和一个冒号的后面。
  • 在类定义中,只能指定一个父类,且必须是列表中的第一项;

1.       类的定义

2.  抽象类(可继承,不能实例化)

3.  密封类(不可继承)

4.  类的继承

内部类可以继承于一个公共基类,但公共基类不能继承于一个内部类。

类继承于接口和类,所有接口成员都必须在支持该接口的类中实现。

5. 类中可以使用的访问修饰符组合:

6. 接口的定义,接口不包含实现代码,都在类中实现。

7. 接口的继承

8. System.object基类

所有的类都继承于system.object

Object 包括的方法:

GetType()和typeof()的使用:

9. 构造函数和析构函数:编译器会自动添加它们,初始化和清理对象

构造函数和析构函数:

  • 类自动带有默认的构造函数和析构函数的实现代码,我们很少需要提供自己的析构函数,可以使用可访问性,类名和可能需要的任何参数来定义构造函数。
  • 基类的构造函数在派生类的构造函数之前执行。
  • 使用this和base构造函数初始化关键字,可以控制类中这些构造函数的执行顺序;

构造函数执行顺序:

10.析构函数

.Net Framework 能确保调用Finalize () 方法

11. Class view中的符号

12.对象浏览器:

View-object browser

添加类,所创建的类名以文件名命名。

Add-new item

13.类图:show base type

14.类库项目:

类库:

  • 可以创建只包含类定义的类库项目,这些项目不能直接执行,而必须通过客户代码在可执行程序中访问,VS和VCE为创建,修改和测试类提供了各种工具

类系列:

  • 类可以组合为系列,以提供公共的操作或共享公共的特性。为此,可以重共享的基类(可以是抽象的)中继承,或者实现接口;

类库项目编译为.dll程序集,在其他项目中添加对类库项目的引用,就可以访问它的内容。Project—add reference

时间: 2024-11-05 06:03:39

18. C# -- 类,接口,构造函数,析构函数,的相关文章

初学C++-----------------类的构造函数、析构函数

1.构造函数 特征: 1)与类名同名. 2)无函数返回类型说明. 3)主要是完成对象的初始化. 4)当一个新的对象被建立时(a.在对象的说明语句中 b.用new函数新建一个动态对象时),系统自动调用其相应的构造函数. 5)可有多个构造函数(重载):多个构造函数的函数名相同,但是其形参在数据类型或数量上有差异,系统会根据参数的性质和个数来选择合适的构造函数. 6)构造函数一定是公有函数. 7)构造函数的执行是在系统创建对象时自动执行的. 定义构造函数的一般形式为: class 类名 { publi

C++:派生类的构造函数和析构函数的调用顺序

一.派生类 在C++编程中,我们在编写一个基类的派生类时,大致可以分为四步: ? 吸收基类的成员:不论是数据成员还是函数成员,派生类吸收除基类的构造函数和析构函数之外的全部成员. ? 改造基类函数:在派生类中声明一个或多个与其(某个)基类中的成员函数同名的成员函数,并将它(们)根据新的需求进行重写 ? 发展新的成员:在派生类中添加新的成员变量和成员函数,其中新添加的成员要求必须和基类中的成员不同名,并且应当保证新添加的成员会使派生类在功能上相比其基类有所发展 ? 重写派生类的构造函数和析构函数

C++ 中的类构造函数 & 析构函数

类的构造函数 类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行. 构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void.构造函数可用于为某些成员变量设置初始值. 下面的实例有助于更好地理解构造函数的概念: 1 #include <iostream> 2 3 using namespace std; 4 5 class Line 6 { 7 public: 8 void setLength( double len ); 9 double getLe

【编程题】编写String类的构造函数、拷贝构造函数、析构函数和赋值函数

[编程题]编写String类的构造函数.拷贝构造函数.析构函数和赋值函数 [题目]:请编写如下4个函数 1 class String 2 { 3 public: 4 String(const char *str = NULL);// 普通构造函数 5 String(const String &other); // 拷贝构造函数 6 ~ String(void); // 析构函数 7 String & operate =(const String &other);// 赋值函数 8

C++基类和派生类的构造函数和析构函数的调用

C++基类和派生类的构造函数和析构函数的调用 1.调用顺序 当创建一个派生类的对象时,系统首先自动创建一个基类对象,也就是说,在调用派生类构造函数创建派生类对象之前,系统首先调用基类的构造函数创建基类对象.当派生类对象生命期结束时,首先调用派生类的析构函数,然后调用基类的析构函数. 所以,构造函数:基类->派生类:析构函数:派生类->基类. 示例: 1 #include<iostream> 2 using namespace std; 3 4 class A 5 { 6 publi

类的构造函数、析构函数与赋值函数

构造函数.析构函数与赋值函数是每个类最基本的函数.它们太普通以致让人容易 麻痹大意,其实这些貌似简单的函数就象没有顶盖的下水道那样危险. 每个类只有一个析构函数和一个赋值函数,但可以有多个构造函数(包含一个拷贝 构造函数,其它的称为普通构造函数).对于任意一个类 A,如果不想编写上述函数, C++编译器将自动为 A 产生四个缺省的函数. 1 #include <iostream> 2 3 /* run this program using the console pauser or add y

对C++中派生类的构造函数和析构函数的认识

一:构造函数 形式:派生类名::派生类名:基类名1(参数1),基类名2(参数2),--基类名n(参数n),数据成员1(参数1),数据成员2(参数2),--数据成员n(参数n){ 各种操作的说明 } 执行过程:先执行基类的构造函数,再进行数据成员的赋值,最后执行函数体. 其中基类名和数据成员的顺序是由在派生类的定义中声明的顺序决定执行的顺序的,因此它们的顺序是任意的,但为了可读性,还是最好按顺序写. 如果基类只有默认构造函数,则基类名和参数表可以不用写出来. 二:复制构造函数 派生类的构造函数的形

c++学习笔记5,多重继承中派生类的构造函数与析构函数的调用顺序(二)

现在来测试一下在多重继承,虚继承,MI继承中虚继承中构造函数的调用情况. 先来测试一些普通的多重继承.其实这个是显而易见的. 测试代码: //测试多重继承中派生类的构造函数的调用顺序何时调用 //Fedora20 gcc version=4.8.2 #include <iostream> using namespace std; class base { public: base() { cout<<"base created!"<<endl; }

C++:派生类的构造函数和析构函数

4.2 派生类的构造函数和析构函数4.2.1 派生类构造函数和析构函数的执行顺序 通常情况下,当创建派生类对象时,首先执行基类的构造函数,随后再执行派生类的构造函数:当撤销派生类对象时,则先执行派生类的派生类的析构函数,随后再执行基类的析构函数. //例4.5 派生类的构造函数和析构函的执行顺序 #include<iostream> using namespace std; class Base{ //声明基类Base public: Base() { cout<<"Co