信息管理与信息系统专业 1.定义类成员 任课教师:吕雅丽
信息管理与信息系统专业 任课教师:吕雅丽 1. 定义类成员
本章内容 如何定义类 如何定义类成员 如何控制类成员的继承 如何定义嵌套的类 如何实现接口 如何使用部分类定义
本章内容 如何定义类 如何定义类成员 如何控制类成员的继承 如何定义嵌套的类 如何实现接口 如何使用部分类定义
11类定义 ■使用 cass关键字来定义类 class myclass ■默认情况下,类声明为内部的,即只有当前项目中的代 码才能访问它,可以使用 interna l访问修饰符显示指出。 internal class myclass 使用关键字 pub l ic指定为公共的 pub l ic class My class
1.1 类定义 使用class关键字来定义类 class MyClass {…} 默认情况下,类声明为内部的,即只有当前项目中的代 码才能访问它,可以使用internal访问修饰符显示指出。 internal class MyClass {…} 使用关键字public指定为公共的。 public class MyClass {…}
11类定义 ■使用关键字 abstract指定类是抽象的,即不能实例化, 只能继承,可以有抽象成员。 public abstract class myclass 使用关键字 sealed指定类是密封的,即不能继承。 pub l ic abstract class my cl ass 如果继承了一个抽象类,就必须实现所继承的所有抽象 成员(除非派生类也是抽象的)
1.1 类定义 使用关键字abstract指定类是抽象的,即不能实例化, 只能继承,可以有抽象成员。 public abstract class MyClass {…} 使用关键字sealed指定类是密封的,即不能继承。 public abstract class MyClass {…} 如果继承了一个抽象类,就必须实现所继承的所有抽象 成员(除非派生类也是抽象的)
11类定义 在#的类定义中,只能有一个基类,可以继承多个接口 不允许派生类的可访问性高于基类。 如果没有使用基类,被定义的类就只继承于基类 System0 b ject,它是所有类的根。 ■如果指定了基类,它必须紧跟在冒号的后面,之后才是 指定的接口,中间用逗号隔开。 pub l ic class Myclass: My Base, I My Inter face pub l ic class Myclass: I My Inter face, My Base
1.1 类定义 在C#的类定义中,只能有一个基类,可以继承多个接口。 不允许派生类的可访问性高于基类。 如果没有使用基类,被定义的类就只继承于基类 System.Object,它是所有类的根。 如果指定了基类,它必须紧跟在冒号的后面,之后才是 指定的接口,中间用逗号隔开。 public class MyClass:MyBase, IMyInterface {…} √ public class MyClass:IMyInterface, MyBase, {…} ×
11类定义 接口的定义 使用 interface关键字来定义接口 nterface I MyInterface 接口也默认定义为内部的,使用关键字 pub l ic指定为 公共的。 pub l ic inter face MyInterface 不能在接口中使用关键字 abstract和 sealed,没有意 义
1.1 类定义 接口的定义 使用interface关键字来定义接口 interface IMyInterface {…} 接口也默认定义为内部的,使用关键字public指定为 公共的。 public interface IMyInterface {…} 不能在接口中使用关键字abstract和sealed,没有意 义
12成员定义 类的成员主要包括字段、方法、属性和构造函数等。所 有成员都有自己的访问级别 pub l ic成员可以由任何代码访问。 ● private成员只能由类中的代码访问,是默认值。 ● Interna成员只能由定义它的程序集(项目)内部 的代码访问。 protected成员只能由类或派生类中的代码访问。 ■ Protected和 interna可以结合使用,表示只能由项目中 派生类的代码访问。 ■关键字 static用来声明类的静态成员,可以是字段、方 法和属性
1.2 成员定义 类的成员主要包括字段、方法、属性和构造函数等。所 有成员都有自己的访问级别。 public 成员可以由任何代码访问。 private 成员只能由类中的代码访问,是默认值。 internal 成员只能由定义它的程序集(项目)内部 的代码访问。 protected 成员只能由类或派生类中的代码访问。 Protected和internal可以结合使用,表示只能由项目中 派生类的代码访问。 关键字static用来声明类的静态成员,可以是字段、方 法和属性
12.1定义字段 ■用变量声明格式和修饰符来定义字段。 class myclass pub l ic int My Int 可以使用关键字 readonly,表示字段只能在执行构造函 数的过程中赋值,或由初始化赋值语句赋值 class myclass pub l ic readonly int My lnt=17
1.2.1 定义字段 用变量声明格式和修饰符来定义字段。 class MyClass { public int MyInt; } 可以使用关键字readonly,表示字段只能在执行构造函 数的过程中赋值,或由初始化赋值语句赋值。 class MyClass { public readonly int MyInt=17; }
12.1定义字段 ■可以定义静态字段,通过类来访问,而不是类的对象实 例 ■可以使用关键字 const创建一个常量值,其也是静态的, 不需要也不能再加 static关键字, 注:类中公共成员的命名一般用 Pascal命名方式
1.2.1 定义字段 可以定义静态字段,通过类来访问,而不是类的对象实 例。 可以使用关键字const创建一个常量值,其也是静态的, 不需要也不能再加static关键字。 注:类中公共成员的命名一般用Pascal命名方式
122定义方法 ■格式: 访问修饰符返回值类型方法名(参数列表) [方法体;} ■新增功能:表达式体方法=>( Lambda箭头) 访问修饰符返回值类型方法名(参数列表)=>表达式; 等价于 访问修饰符返回值类型方法名(参数列表) [ return表达式;
1.2.2 定义方法 格式: 访问修饰符 返回值类型 方法名(参数列表) { 方法体; } 新增功能:表达式体方法=>(Lambda箭头) 访问修饰符 返回值类型 方法名(参数列表)=>表达式; 等价于 访问修饰符 返回值类型 方法名(参数列表) { return 表达式; }