项目5 面向对象的C# 任务5.1-类和对象(课件)-《C#程序设计基础》(河海大学出版社)同步精品课堂
|
21页
|
86人阅读
|
0人下载
精品
内容正文:
C#
项目5面向对象的C#
制作:孔艳丽
2024年2月
2010版
C#
项目5面向对象的C#
类和对象的概念
类的创建
任务5.1创建简单的购物车类
对象的创建和访问
静态成员
封装
任务5.2设计一个车辆基类和派生类
继承
项目5面向对像的C#
多态
构造函数的概念
任务5.3显示汽车基本信息
构造函数的分类
构造函数的调用
使用this访问属性
任务5.4编写班级通讯录
使用this调用成员方法
使用this调用构造函数
2010版
C#
项目5面向对象的C#
程序设计的方法很多,最常用的是面向过程的程序设计和面向对象的程序设计。二者的主要区
别是它们处理问题的方式不同。
面向过程的程序设计,是将程序分解成一系列的过程(或子程序),每个过程完成特定的功能。
面向对象的程序设计,把数据和对数据要执行的操作视为一个完整的实体(对象),对象之间
通过消息进行通信,使得各对象完成相应的操作。C#语言就是一种面向对象的程序设计语言。
需要解决的问题
羽毛
飞行
属性
鸟类
方法或行为
翅膀
(数据)
(操作)
觅食
二级子问题
二级子问题
二级子问题
实体(对象)
三级子问题…三级子问题…三级子问题
大雁
鸽子
燕子
最小的向题]
最小的问题
最小的问题】
面向过程
面向对象
2010版
C#
任务5.1创建简单的购物车类
5.1.1类和对象的概念
1.类
类是面向对象编程(OOP)的基本概念之一。
具有相同属性和行为的一类实体被称为类,如鸟类、植物类、人类等。类是封装对象的属性和
行为的载体,例如,鸟类封装了所有鸟的共同属性和应具有的行为,定义完乌类之后,可以根据这
个类实例化出一个对象(如大雁),最后通过实体对象来解决相关的实际问题。
类是C的基础,每个类通过方法和属性及其他一些成员来表达事物的状态和行为。事实上,编
写C#程序的主要任务就是定义各种类及类中的各种成员。
2.对象
类是对象的抽象,而对象是类的具体实例。对象是具有某些特性的具体事物。鸟类是
对所有乌的抽象,大雁侧是乌类的具体实例。
2010版
C#
任务5.1创建简单的购物车类
5.1.2类的创建
1.类的定义
在℃#中,必须用类来组织程序的方法与字段。所有的方法与字段都需要放在类中定义,不存在独立于类的方
法和字段。
类的定义需要使用关键字class,其简单的定义格式如下:
【格式】
【说明】
[访问修饰符]class类名[:基类或接口]
访问修饰符的作用是控制被修饰成员的访问权限,即类
作用域。若无访问修饰符,则默认为internal。
[类体]
①oublic:公共类,可以被任何其他类访问。
②protected:保护类,只能在当前类或者派生类中访问。
例如,定义一个学生类。
③internal:内部类,只能在当前程序集中访问。
class Student
④private:私有类,只能在当前类中访问,是最严格的
类的成员;
访问级别。
2010版
C#
任务5.1创建简单的购物车类
5.1.2类的创建
2.类的成员
“类的成员”中主要有两大部分,存储数据成员和操作数据成员。
存储数据成员较为简单,数据存储在字段中。
例如,在上面定义的学生类中,定义两个
一般把类或结构中定义的变量和常量叫字段,其
字段:姓名和年龄。
定义格式为:
class Student
【格式】访问修饰符数据类型字段名:
{
【说明】访问修饰符的作用与类的访问修饰
public string name;
∥学生的姓名
public int age;
∥学生的年龄
符相似,其默认访问类型为orivate.。
2010版
C#
任务5.1创建简单的购物车类
5.1.2类的创建
2.类的成员
(2)操作数据成员
字段描述了现实世界中事物的属性(即静态方面),对应于类定义中的数据成员;操作数据的成
员则描述了现实世界中事物的行为(即动态方面),操作数据的成员包含方法、属性、构造函数等。
①方法
在C#中,方法必须放在类定义中定义,也就是说,方法必须是某一个类的方法。
方法是包含一系列语句的代码块。方法有一个形式参数列表(可能为空)、一个返回值(或
VOd),并且可以是静态的也可以是非静态的。静态方法要通过类来访问;非静态方法也称为实例方
法,可通过类的实例(即对象)来访问。方法必须在定义之后才能被调用。
2010版
C#
5.1.2类的创建
任务5.1创建简单的购物车类
class Program
2.类的成员
川声明两个公共字段,表示长方形的长度和宽度
public double length =10;
(2)操作数据成员
public double width =20;
∥定义一个方法,用于将长方形的长度和宽度分别扩大expand倍
①方法
public void Rectangle(int expand)
{∥将长度扩大expand倍
定义方法最常用的语法格式如下:
length length expand;
∥将宽度扩大expand倍
width=width expand;
Console.WriteLine("长方形的长扩大后为:"+length;
[访问修饰符]返回值类型方法名([形式参数列表])
Console.WriteLine("长方形的宽扩大后为:"+width);
{
方法体;
static void Main(string[]args)
{
[return
表达式]
∥创建Program类的实例
Program r1 new Program();
∥调用Rectangle方法,将长方形的长度和宽度扩大2倍
r1.Rectangle(2);
Console.ReadLine();
【例5-1】定义Rectangle0方法,可将当前
的长方形的长和宽分别扩大expand倍。
2010版
C#
5.1.2类的创建
任务5.1创建简单的购物车类
2.类的成员
(2)操作数据成员
①方法
【说明】
●方法的默认访问修饰符为orivate,但一般设置为public,以保证在类定义之外能够调用该方法。
·方法的返回值类型用于指定由该方法计算并返回的值的类型。如果该方法不返回值,则返回类型为Vod。
·方法名必须是一个合法的C#标识符。
·形式参数列表放在一对圆括号中,指定调用该方法时需要传递的参数个数、各参数的数据类型、各参数的
名称,参数之间以逗号分隔。
·实现特定功能的语句块放在一对大括号中,叫方法体,“”表示方法体的开始,“”表示方法体的结束。
·如果方法有返回值,则方法体中必须包含一个returni语句,以指定返值,其类型必须和方法的返回类型相
同。如果方法无返回值,在方体中可以不包含returni语句,或包含一个不指定任何值的return语句。
2010版
C#
任务5.2设计一个车辆基类和派生类
2.类的成员
(2)操作数据成员
②属性
属性和字段是不一样的。
字段是一个类中用来存储数据的变量,可以直接访问和修改它的值。字段通常是私有的,并且直接暴
露给外部代码使用,不提供任何封装。
属性是类的公共接口,它提供了一种封装字段的方法,使得外部代码可以安全地访问和修改字段的值。
属性包括两个部分:get访问器和set访问器,分别用于获取和设置字段的值。【格式】
访问修饰符class属性名
{
get{return字段名;}
set{字段名=value;}
2010版
资源预览图