C#核心基础--类的声明
C#核心基础--类的声明
类是使用关键字 class 声明的,如下面的示例所示:
访问修饰符 class 类名
{
//类成员:
// Methods, properties, fields, events, delegates
// and nested classes go here.
}
一个类应包括:
- 类名
- 成员
- 特征
一个类可包含下列成员的声明:
- 构造函数
- 析构函数
- 常量
- 字段
- 方法
- 属性
- 索引器
- 运算符
- 事件
- 委托
- 类
- 接口
- 结构
下面的示例说明如何声明类的字段、构造函数和方法。 该例还说明了如何实例化对象及如何打印实例数据。 在此例中声明了两个类,一个是 Child类,它包含两个私有字段(name 和 age)和两个公共方法。 第二个类 StringTest 用来包含 Main。
class Child
{
private int age;
private string name; // Default constructor:
public Child()
{
name = "Lee";
} // Constructor:
public Child(string name, int age)
{
this.name = name;
this.age = age;
} // Printing method:
public void PrintChild()
{
Console.WriteLine("{0}, {1} years old.", name, age);
}
} class StringTest
{
static void Main()
{
// Create objects by using the new operator:
Child child1 = new Child("Craig", );
Child child2 = new Child("Sally", ); // Create an object using the default constructor:
Child child3 = new Child(); // Display results:
Console.Write("Child #1: ");
child1.PrintChild();
Console.Write("Child #2: ");
child2.PrintChild();
Console.Write("Child #3: ");
child3.PrintChild();
}
}
/* Output:
Child #1: Craig, 11 years old.
Child #2: Sally, 10 years old.
Child #3: N/A, 0 years old.
*/
注意:在上例中,私有字段(name 和 age)只能通过 Child 类的公共方法访问。 例如,不能在 Main 方法中使用如下语句打印 Child 的名称:
Console.Write(child1.name); // Error
只有当 Child 是 Main 的成员时,才能从 Main 访问该类的私有成员。
类型声明在选件类中,不使用访问修饰符默认为 private,因此,在此示例中的数据成员会 private,如果移除了关键字。
最后要注意的是,默认情况下,对于使用默认构造函数 (child3) 创建的对象,age 字段初始化为零。
| Inheritance | 示例 |
|---|---|
| 无 | class ClassA { } |
| Single | class DerivedClass: BaseClass { } |
| 无,实现两个接口 | class ImplClass: IFace1, IFace2 { } |
| 单一,实现一个接口 | class ImplDerivedClass: BaseClass, IFace1 { } |
C#核心基础--类的声明的更多相关文章
- C#核心基础--类(2)
C#核心基础--类的声明 类是使用关键字 class 声明的,如下面的示例所示: 访问修饰符 class 类名 { //类成员: // Methods, properties, fields, eve ...
- c++学习笔记之基础---类内声明函数后在类外定义的一种方法
在C++的“类”中经常遇到这样的函数, 返回值类型名 类名::函数成员名(参数表){ 函数体.} 双冒号的作用 ::域名解析符!返回值类型名 类名::函数成员名(参数表) { 函数体. } 这个是在类 ...
- C#核心基础--类的继承
继承 一个类可以继承自另一个类.在 C#中,类与类之间只存在单一继承.也就是说,一个类的直接基类只能有一个.当类与类之间实现继承的时候,子类可以将它的直接基类的所有成员当做自己的成员,除了类的静态构造 ...
- c++学习笔记之基础---类内声明线程函数的调用
近日需要将线程池封装成C++类,类名为Threadpool.在类的成员函数exec_task中调用pthread_create去启动线程执行例程thread_rounter.编译之后报错如下: spf ...
- c#核心基础--类的构造方法
一.构造方法 类的构造方法是类的成员方法的一种,它的作用是对类中的成员进行初始化操作.类的构造方法分为: 1.静态构造方法 2.实例构造方法 3.私有构造方法 1.静态构造方法 类的静态构造方法是类的 ...
- IOS基础之 (三) 类的声明和对象的创建
一 OC类的声明和实现语法 1.接口的声明 @interface NewClassName: ParentClassName { 实例变量 ... } 方法的声明 ... @end //...表示省略 ...
- C#基础_类的声明
新建Clerk类. using System; using System.Collections.Generic; using System.Linq; using System.Text; usin ...
- css核心基础总结篇
今日这篇是整合前面的css补充知识的. 我觉得前面的关于css的知识补充进去有点乱,今日整理整理一下. 层叠样式表 层叠是什么意思?为什么这个词如此重要,以至于要出现在它的名称里. 层叠可以简单地理解 ...
- Android应用的核心基础
Android4开发入门经典 之 第二部分:Android应用的核心基础 Android应用中的组件 Application Components Android应用中最主要的组件是: 1:Activ ...
随机推荐
- spring3.0框架检测方法运行时间测试(转)
主要利用了Spring AOP 技术,对想要统计的方法进行横切处理,方法执行前开始计时,方法执行后停止计时,得到计时方法就是该方法本次消耗时间. 步骤: 首先编写自己的Interceptor类来实现M ...
- Spring Boot 系列(六)web开发-Spring Boot 热部署
Spring Boot 热部署 实际开发中,修改某个页面数据或逻辑功能都需要重启应用.这无形中降低了开发效率,所以使用热部署是十分必要的. 什么是热部署? 应用启动后会把编译好的Class文件加载的虚 ...
- Maven json-lib依赖下载不下来解决方案
今天Maven添加依赖时候发现json lib这个包引入之后,死活出不来JSONObject这个类,打开Maven Project视图,发现json-lib这个包没下下来,以前也遇到过类似问题,都是网 ...
- MySQL中间件之ProxySQL(7):详述ProxySQL的路由规则
返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html 1.关于ProxySQL路由的简述 当ProxySQL收到前端app发 ...
- python模块之shutil
shutil是一个用于简化文件操作的模块. 复制文件(传入源文件对象和目标文件对象) import shutil f1 = open(r'/Users/jingxing/PycharmProjects ...
- Scala(一) —— 基础
一.输出 println("Hello World") 二.变量与常量 1.变量用var表示,常量使用val表示 2.变量类型声明 var variableName : DateT ...
- linux的文档和目录结构
在Linux底下,所有的文件与目录都是由根目录开始,是目录与文件的源头,然后一个个的分支下来,如同树枝状,因此称为这种目录配置为:目录树. 目录树的特点是什么呢? 目录树的起始点是根目录(/,root ...
- Wpf学习20180605
Windows Presentation Foundation 窗口展示框架 WPF. 与winform界面程序比较,我认为最大的区别是‘与分辨率无关’这个特性. 传统winform程序在低分辨率的电 ...
- [angularjs] angularjs系列笔记(四)过滤器
过滤器可以使用一个管道字符(|)添加到表达式和指令中,这不就是模板函数吗 <body> <div ng-app="Home"> <div ng-con ...
- react学习(四)之设置 css样式 篇
react中设置css样式 方法一: 行内样式:使用{{ }},与正常jsx中插入js代码不一样,这里需要两个括号. <div style={ { float: 'right',} }> ...