Download presentation
Presentation is loading. Please wait.
1
第4章 面向对象编程方法 王德俊 上海交通大学继续教育学院
2
第4章 面向对象编程方法 4.1一个简单的程序 4.2 类和对象 4.3 类的继承、重载与多态 4.4 运算符的重载 4.5 接口及其实现 4.6 方法的委托 4.7 常用的几个类 4.8 命名空间
3
类可以具有静态成员 静态成员与非静态成员的主要差别 声明静态成员需要使用static修饰符 4.2 类和对象 4.2.5 类的静态成员
例如静态字段、静态方法等 静态成员与非静态成员的主要差别 静态成员属于类,而非静态成员则总是与特定的实例(对象)相联 系 声明静态成员需要使用static修饰符
4
1 静态数据成员 2 静态方法 3 C#中的常用类型转换静态方法
4.2 类和对象 4.2.5 类的静态成员 1 静态数据成员 2 静态方法 3 C#中的常用类型转换静态方法
5
1 静态数据成员 非静态的字段(数据)总是属于某个特定的对象,其值总是 表示某个对象的值
有时可能需要类中有一个数据成员来表示全体对象的共同特 征,这时就需要使用静态数据成员
6
静态数据成员 例如,在Student类中用一个数据成员studentNumber来统计学生的人数,那么这个数据成员表示的就不是某个学生对象的特征,而是全体学生对象的特征 class Student // 类名为Student { // 声明静态数据成员存放学生人数 public static int studentNumber; public string id; public string name; public char sex; public int age; }
7
静态数据成员 静态数据成员不属于任何一个特定的对象,而是属于类,或 者说属于全体对象,是被全体对象共享的数据
8
2 静态方法 如果某个方法使用时并不需要与具体的对象相联系,这时可 以将该方法声明为静态方法
静态方法同样使用修饰符static声明 静态方法属于类,只能使用类调用,不能使用对象调用
9
[例StudentStatic] 创建一个控制台应用程序
在该程序中定义一个学生类 该类除包含非静态成员外,还包含一个静态数据成员用以统计学生人 数(对象个数),以及一个静态方法用以返回学生人数
10
class Student // 类名为Student { // 声明字段 public static int studentNumber; // 声明静态数据成员 public string id; public string name; public char sex; public int age; public Student(string id,string name,char sex,int age) // 声明构造函数 { studentNumber++; //每创建一个对象,静态数据成员增1 this.id=id; this.name=name; this.sex=sex; this.age=age; } public static int GetNumber() // 声明静态方法 { return studentNumber;
11
static void Main(string[] args) { // 声明对象s1 Student s1=new Student(" ","张三",'女',21); Console.WriteLine("学号:"+s1.id+",姓名:"+s1.name+",性别:"+s1.sex+",年龄:"+s1.age); // 声明对象s2 Student s2=new Student(" ","李四",'男',20); Console.WriteLine("学号:"+s2.id+",姓名:"+s2.name+",性别:"+s2.sex+",年龄:"+s2.age); // 声明对象s3 Student s3=new Student(" ","王五",'男',19); Console.WriteLine("学号:"+s3.id+",姓名:"+s3.name+",性别:"+s3.sex+",年龄:"+s3.age); Console.WriteLine("学生人数为:{0}", Student.GetNumber()); // 调用静态方法 Console.ReadLine(); }
12
以上程序在构造函数被调用时,使静态数据成员 studentNumber自动增1,从而起到自动统计学生人数的作用
静态方法与非静态方法一样可以重载
13
3 C#中的常用类型转换静态方法 在C#的System命名空间中,有一个Convert(转换)类,该类 提供了由字符串类型转换为相应其他基本数据类型的一系列 静态方法 注意:字符串的字符序列必须符合相应数据类型的格式要求 类型转换方法最常用的调用格式之一是: Convert.静态方法名(字符串类型数据)
14
C#中的常用类型转换静态方法 (1) Convert.ToInt32方法 (2) Convert.ToSingle方法 (3) Convert.ToChar方法 (4) Convert.ToBoolean方法
15
(1) Convert.ToInt32方法 将字符串类型转换为int类型
int a=Convert.ToInt32(“123”); // 符合要求 int b=Convert.ToInt32(“123.6”);// 不符合要求,含有小数点,将引发转换异常 int c=Convert.ToInt32(“ ”);// 不符合要求,超出int型的数值范围 ToInt16方法: 将字符串转换为short(短整型)类型 int n=Convert.ToInt16(“123”); //字符串“123”转化为整数123 ToInt64方法: 将字符串转换为long(长整型)类型 ToUInt32方法: 将字符串转换为uint(无符号整型)类型
16
将字符串类型转换为float(单精度浮点型)类型 ToDouble方法:
(2) Convert.ToSingle方法 将字符串类型转换为float(单精度浮点型)类型 ToDouble方法: 将字符串转换为double(双精度浮点型)类型 ToDecimal方法: 将字符串转换为decimal(十进制型)类型
17
(3) Convert.ToChar方法 将字符串转换为char(字符)类型 char cd=Convert.ToChar(“a”);
其他类型的数据也可以使用ToString方法被转换为字符串类型 string sa=Convert.ToString(1234); // 将整型常量转换为字符串
18
(4) Convert.ToBoolean方法
使用ToBoolean方法时,字符串必须是true或false
19
本讲小结 1 静态数据成员 2 静态方法 3 C#中的常用类型转换静态方法
Similar presentations