欢迎来到天天文库
浏览记录
ID:50172536
大小:1.38 MB
页数:46页
时间:2020-03-09
《面向对象程序设计(C#)教学课件 李法平 第5章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象程序设计(C#)第五章面向对象程序的基本特性2/12目 录任务5.1隐藏对象的信息任务5.2实现代码复用任务5.3使用接口实现行为统一任务5.4利用函数重载实现多态任务5.5利用抽象方法和虚函数函数重写实现多态3/12任务5.1隐藏对象的信息21知识目标能力目标封装性访问区分符利用封装性实现信息隐藏4/125.1.1情境描述Jack在承接了Jam运动商场销售收银系统设计之后,决定到现场去实地调研软件需求,Jack在需求调研的过程中,Jam在给Jack介绍系统的时候,老是在强调商品信息、客户信息、客户销售积分规则及收银销售记录等,Jack在后来对需求进行整理时,意外发
2、现商场销售收银系统居然是现实社会的一系列存在对象及存在对象之间的联系构成的。Jack希望能够采取面向对象及分析对象之间的联系的方法来进行程序设计,在运用C#进行面向对象程序设计之前,他需要先完成以下任务:1)使用访问区分符2)利用封装性隐藏数据第1章目录在现实社会中,信息属于一个对象的私有属性,具有保密性及隐藏信息,因此对于信息的隐藏相当重要。封装性是面向对象的基本特性,在C#面向对象编程中,利用其访问区分符可以有效的控制数据成员的访问,例如private访问区分符则表示不允许其他类对象访问等。Jack要实现商品信息的封装,需要对商品的字段进行private访问区分符限定,
3、然后利用get和set属性进行字段的访问封装操作。第1章目录5.1.2问题分析1、利用VisualStudio2010打开任务5.3项目2、打开Model下面的Goods类,针对Goods类的成员变量进行private访问区分符的封装操作。3、利用C#的属性进行字段的get及set操作封装,在VisualStudio2010中,可以利用快捷Ctrl+R,Ctrl+E进行选定字段的get及set封装第1章目录5.1.3解决方案7/124、利用VisualStudio2010中的快捷实现快速的文件字段封装,封装后的代码Goods类如下所示:5、修改直接访问Goods类中字段的代
4、码。6、针对Cashier类、CashRegisterGoods类及CashRegister的数据成员进行private限定。7、利用get和set对Cashier类、CashRegisterGoods类及CashRegister的数据成员进行访问封装操作。第1章目录5.1.3解决方案8/125.1.4知识总结1、访问区分符C#中有一些指定声明的成员或类型的可访问性的关键字,叫做访问区分符,C#中的访问修饰符有public、private、protected、internal。(1)public全局访问修饰符public可以声明所有类和成员,并且对这些类或成员的的访问不受限
5、制,任何代码都可以访问该类或成员。如大学图书馆是public的,来自任何学校的学生可以参观图书馆和阅读书籍。(2)private私有成员修饰符private声明的成员是私有的,只能在类的内部访问。不能用private声明顶级类,如果将一个类声明为private,那么在命名空间中是没有意义的,只能在类的内部才能访问私有成员。一个类的派生类也不能对该类中由private修饰符修饰的成员进行访问.第1章目录9/125.1.4知识总结(3)protected保护成员修饰符protected声明的成员,只能从所在类和该类派生的派生类可以访问该类的保护成员。(4)internal内部访
6、问修饰符internal声明的成员只能在包含它的程序集中访问。上述四种访问修饰符是基本的访问修饰符.由protected和internal组合在一起可以形成一种新的访问修饰符,即内部保护成员修饰符protectedinternal,用protectedinternal修饰的成员在同一个程序集的任何代码中都可见,在派生类中也可以见,甚至在其他程序集中也可见.第1章目录10/125.1.4知识总结2、封装类的封装将方法和数据包含在一起形成一个独立的单元,通过设定单元内各个成员的特性来控制对成员的访问,简单来讲,封装指的是隐藏类中成员,及方法实现细节的过程。(1)通过封装隐藏成员
7、在现实生活中,一个类的属性和方法并不是完全对外公开的,常常有部分属性方法公开,其他代码都可以访问,有部分属性方法部分代码才能访问,有部分属性方法只有对自身类才能访问。在定义类的时候通过对成员使用访问修饰符修饰就可以达到目的。(2)通过封装隐藏方法实现细节第1章目录11/125.1.4知识总结多态多态指的是同一个操作作用域不同的对象,可以有不同的解释,产生不同的执行结果,可以有静态多态和动态多态两种类型。静态多态静态多态又叫编译时多态,就是系统在编译时,根据传递的参数,返回的类型等信息决定选择哪种函数。这种多态性是通
此文档下载收益归作者所有