- 1、本文档共69页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C_面向对象程序设计资源-王晶晶 主编 第4章
4.1类与对象 对象(Object)是面向对象程序设计的核心。世界上的一切人、事、物都是对象。因此可以说面向对象的程序设计,实质上是用计算机的语言描绘世界。对象具有静态的属性和动态的行为。静态的属性用来描述对象的特征,如汽车可以用型号、价格、颜色等属性来描述。动态的行为则表示对象可执行的动作,如汽车的行为可以有加速、转弯、后退等。在计算机中,属性用数据描述,而行为则用方法表示。 类(Class)是一组具有相同属性和行为的对象的抽象,而对象则是类的实例。在C# 中类实际上是用户自定义的一种数据类型,它定义了该数据类型的数据和行为。 4.1.1 类的定义格式:[类的访问修饰符]class 类名[:基类类名] { 类的成员; } 说明: 类名要遵循标识符命名规则,一般而言,组成类名的单词的首字母要大写。 默认情况下,类声明为内部的。内部类意味着只有当前项目中的代码才能访问该类。我们可以使用internal这一访问修饰符关键字来显式指定。 类的访问修饰符除了internal外,还可以为public。public类称为公共类,不仅当前项目中的代码可以访问该类,其他项目中的代码也可以访问该类。 除了internal和public这两个访问修饰符关键字外,还可以为abstract(抽象类,不能实例化,只能继承)和sealed(密封类,不能继承)。关于这两种类型的类我们在后续章节中介绍。 类成员的定义格式如下: [访问修饰符]数据成员; [访问修饰符]成员方法; 数据成员用来描述每个对象所拥有的属性,成员方法则用来描述每个对象的行为。类成员的访问修饰符可以用以下关键字之一来定义, 1.public:该类成员可以由任何代码访问。 2.private:该类成员只能由类中的代码访问,如果不加以指明,则默认取值为private。 3.internal:该类成员只能由定义它的项目内部的代码访问。 4.protected:该类成员只能由该类或派生类中的代码访问。类成员的访问修饰符的详细介绍参见4.5.1节。 例4-1 创建一个汽车类 public class Car{ //数据成员,即对象的静态特征或状态 public string color; public string size; public string brand; //方法成员,即对象的动态特征或行为 public void beep() {} } 4.1.2 对象的创建 类是一个静态概念,要想使用类,需要对类进行实例化,即创建对象。格式:类名 对象名=new 构造函数;//new关键字用来创建对象。 说明: 1. new关键字用来创建对象,为对象在内存中分配空间,创建对象的实体。 2. 构造函数名与类名相同,关于构造函数的介绍将在后续章节进行,现在我们只需用类名后加上圆括号来代替。如:Car car1=new Car(); 4.1.3 对象成员的访问创建对象后,就可以访问对象成员和运行对象中的方法。格式: 对象名.成员名比如:car1.color=”yellow”;car1.size=”1.4”;car1.brand=”NISSAN”;car1.beep(); 例4-2 创建一个Employee类,创建该类的一个对象e1,访问e1的成员 using System; using System.Collections.Generic; using System.Text; namespace LearnCsharp { class Employee { string mstrEmpID; //员工代号 string mstrEmpName; //员工姓名 public void SetEmpID(string EmpID) {//设置员工代号 mstrEmpID=EmpID; } public string GetEmpID(){ //取得员工代号 return mstrEmpID; } public void SetEmpName(string EmpName) { //设置员工
文档评论(0)