欢迎来到天天文库
浏览记录
ID:50318650
大小:408.50 KB
页数:69页
时间:2020-03-08
《C#面向对象程序设计 教学课件 作者 王晶晶 主编第4章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章面向对象编程基础面向对象程序设计是一种程序设计的新方法,解决了结构化程序设计的缺点。它以现实世界中的事物为中心来思考问题,直接降低了软件开发的难度。另外,它将事物的属性及行为封装在对象中,进而抽象为“类”,类通过接口与外界发生联系,提高了模块的独立性与安全性。类的继承和多态性则提高了代码的可重用性,极大地方便了软件开发和维护工作。4.1类与对象对象(Object)是面向对象程序设计的核心。世界上的一切人、事、物都是对象。因此可以说面向对象的程序设计,实质上是用计算机的语言描绘世界。对象具有静态的属性和动态的行为。静态的属性用来描述对象的特征,如汽车可以用型号、价格、颜色等属性来描述。
2、动态的行为则表示对象可执行的动作,如汽车的行为可以有加速、转弯、后退等。在计算机中,属性用数据描述,而行为则用方法表示。类(Class)是一组具有相同属性和行为的对象的抽象,而对象则是类的实例。在C#中类实际上是用户自定义的一种数据类型,它定义了该数据类型的数据和行为。4.1.1类的定义格式:[类的访问修饰符]class类名[:基类类名]{类的成员;}说明:类名要遵循标识符命名规则,一般而言,组成类名的单词的首字母要大写。默认情况下,类声明为内部的。内部类意味着只有当前项目中的代码才能访问该类。我们可以使用internal这一访问修饰符关键字来显式指定。类的访问修饰符除了intern
3、al外,还可以为public。public类称为公共类,不仅当前项目中的代码可以访问该类,其他项目中的代码也可以访问该类。除了internal和public这两个访问修饰符关键字外,还可以为abstract(抽象类,不能实例化,只能继承)和sealed(密封类,不能继承)。关于这两种类型的类我们在后续章节中介绍。类成员的定义格式如下:[访问修饰符]数据成员;[访问修饰符]成员方法;数据成员用来描述每个对象所拥有的属性,成员方法则用来描述每个对象的行为。类成员的访问修饰符可以用以下关键字之一来定义,1.public:该类成员可以由任何代码访问。2.private:该类成员只能由类中的代码访
4、问,如果不加以指明,则默认取值为private。3.internal:该类成员只能由定义它的项目内部的代码访问。4.protected:该类成员只能由该类或派生类中的代码访问。类成员的访问修饰符的详细介绍参见4.5.1节。例4-1创建一个汽车类publicclassCar{//数据成员,即对象的静态特征或状态publicstringcolor;publicstringsize;publicstringbrand;//方法成员,即对象的动态特征或行为publicvoidbeep(){}}4.1.2对象的创建类是一个静态概念,要想使用类,需要对类进行实例化,即创建对象。格式:类名
5、对象名=new构造函数;//new关键字用来创建对象。说明:1.new关键字用来创建对象,为对象在内存中分配空间,创建对象的实体。2.构造函数名与类名相同,关于构造函数的介绍将在后续章节进行,现在我们只需用类名后加上圆括号来代替。如:Carcar1=newCar();4.1.3对象成员的访问创建对象后,就可以访问对象成员和运行对象中的方法。格式: 对象名.成员名比如:car1.color=”yellow”;car1.size=”1.4”;car1.brand=”NISSAN”;car1.beep();例4-2创建一个Employee类,创建该类的一个对象e1,访
6、问e1的成员usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceLearnCsharp{classEmployee{stringmstrEmpID;//员工代号stringmstrEmpName;//员工姓名publicvoidSetEmpID(stringEmpID){//设置员工代号mstrEmpID=EmpID;}publicstringGetEmpID(){//取得员工代号returnmstrEmpID;}publicvoidSetEmpName(stringEmpName){//设置员工名称ms
7、trEmpName=EmpName;}publicstringGetEmpName(){//取得员工名称returnmstrEmpName;}staticvoidMain(){Employeee1=newEmployee();e1.SetEmpID("001");e1.SetEmpName("王江");Console.WriteLine("员工:代号{0},姓名{1}“);e1.GetEmpID(),e1.G
此文档下载收益归作者所有