当前位置:文档之家› [工学]第7章创建圆和矩形类——类与对象

[工学]第7章创建圆和矩形类——类与对象



注意:类的成员种类,除了字段、构造函数、方法和属性外, 还有事件、运算符、索引器、析构函数、嵌套类型等。
/
【例7-1】定义圆类Circle,把圆的性质和行为 用一个代码块封装起来。
class Circle //定义圆类 { private double radius; //私有的半径字段 private double x, y; //私有的圆心坐标 private const double PI = 3.14159; //圆周率常量字段 public Circle(double r) //带半径参数的构造函数 { if (r < 0) { throw new Exception("圆的半径不能为负数!"); } else { radius = r; } } public double CalcArea() //计算圆面积方法 { return PI * radius * radius; } public double CalcGrith() //计算圆周长方法 { return 2 * PI * radius; } }
/
7.3 构造函数及其重载

在类(或结构)中声明构造函数的一般形式:
可选public等 构造函数名( 参数列表 ) { ... }

不带参数的构造函数,称为“默认构造函数”。例如:
public Circle() { radius = 0; }

可在一个类中编写多个构造函数,称为重载构造函数。例:
public Circle() { ... } public Circle(double r) { ... }
第7章 创建圆和矩形类 ——类与对象
能力目标: 1. 学会定义类,编写字段、构造函数、方法和属性等成员, 使用new构建对象。 2. 学会使用public、private等访问修饰符控制类成员的可 访问性。 3. 学会使用关键字static创建类静态方法和静态属性。 4. 能运用类定义来编写圆类和矩形类,能创建类对象、计 算其面积、周长和个数。
内容介绍



7.1 项目预览 7.2 定义类 7.3 构造函数及其重载 7.4 访问修饰符——控制类型及其成员的可访问性 7.5 静态成员和非静态成员 7.6 使用关键字const和readonly声明字段 7.7 静态类 7.8 分部类 7.9 属性成员 7.10 自动实现属性 7.11 直接设定属性构建对象 7.12 匿名类及其对象 7.13 本章小结 7.14 项目实训7: 定义圆和矩形类,计算面积周长和个数
}
/
7.4 访问修饰符——控制类型 及其成员的可访问性
7.4.1 类型可访问性

访问修饰符的关键字有4个:public、protected、 internal 和 private。 如果没有显式使用访问修饰符来声明,则类和结构等类型默 认都是internal,当然也可显式声明为internal。内部的类 型只能由同一程序集中的类型来访问。 类和结构等类型还可声明为public,公共的类型可被任何其 他类型访问。 注意:类能声明为protected或private。
public protected internal protected internal
private

私有的成员,访问仅限于所在类型,访问级别最低。
5个访问级别都可用于类成员的声明,但结构成员只能使 用其中3个,不能使用protected和protected internal。 注意:类或结构成员默认访问修饰符是 private。
/
【例7-2】建立控制台应用程序项目,定义圆类, 创建圆对象、计算圆的面积和周长。

在例7-1圆类代码基础上。增加默认构造函数:
public Circle() { }
把声明圆心坐标的一行语句注释(或删除)掉:
//private double x, y; //私有的圆心坐标
/
编写Program类的Main方法:
/
7.1 项目预览

定义圆类和矩形类,计算对象面积、周长和个数的WPF应 用程序项目,运行界面:
/
7.2 定义类

类是一种类型,是具有共同性质的一群实体的统称。 类具有数据及行为成员。类的一个特定实例,就是对象。 类与对象的关系,是总体和个体的关系。 定义类也叫声明类,一般形式:
可选public或internal 可选static class 类名 { 类字段、构造函数、方法、属性等成员 }
/
推荐类及其成员的命名
——以便能从名称中得到可访问性的信息: (1)类名以大写字母开头。例如圆类:
class Circle { ... }


(2)公共性质的类成员以大写字母开头,例如公共的计算 面积方法成员:
public double CalcArea() { ... }

(3)非公共性质的类成员、局部变量等以小写字母开头。 例如私有的圆半径字段:
try { double r, area, girth; Console.Write("请输入圆半径:"); r = double.Parse(Console.ReadLine()); Circle aCircle = new Circle(r); area = aCircle.CalcArea(); girth = aCircle.CalcGrith(); Console.WriteLine("该圆面积为:" + area); Console.WriteLine("该圆周长为:" + girth); } catch (Exception e) { Console.WriteLine("异常:" + e.Message); } }
/


7.4.2 类型成员可访问性

对于类成员和结构成员来说,4个访问修饰符组成5个访问 级别,详见下表。
访问级别 含义 公共的成员,访问不受限制,访问级别最高。 受保护的成员,除了在本类访问,还能被派生类继承。 内部的成员,访问限于当前程序集。 受保护内部成员,除了在当前程序集访问,还能被派生 类继承。
相关主题