欢迎来到天天文库
浏览记录
ID:57008221
大小:350.00 KB
页数:52页
时间:2020-07-26
《深入浅出面向对象程序设计课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、深入浅出面向对象程序设计制作人:刘荣海2本课目标面向对象和面向过程的区别面向对象程序设计的基本概念分享有关学习OOP的的方法面向对象和面向过程面向过程:首先分析出解决问题所需要的步骤;然后用函数把这些步骤一步一步实现;使用的时候一个一个依次调用就可以了。面向对象:把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。五子棋游戏设计思考(1)分析问题(2)设计算法(3)编写程序(4)编译运行(5)分析结果面向过程设计回到步骤二进行下一局设计思路一面向对象设
2、计设计思路二面向对象程序设计的基本概念OOP的三大特性:封装继承多态2类(class)和对象(object)对象指的是一个实体的实例,在这个实体中包括了特定的属性数据和对这些数据进行操作的函数。对象可以是:现实生活中的一个物理对象(一辆汽车,一个人,一本书)某一概念实体的实例(一个图形,一种管理方式)类是一组具有相同数据结构和相同操作的对象的集合。在一个类中,每个对象都是类的实例,可以使用类中提供的方法。创建类的对象的操作,被称为类的实例化。2.1类的声明类声明语句声明一个新类,其语法格式为:[特征][修饰符]cl
3、ass类名[:基类名和任何实现接口的列表]{类体}对象引用:Customerc;c=newCustomer();//这中间发生了什么事情?类的成员一个类就是一个数据结构,可以包含:数据成员(常量、字段和事件);函数成员(方法、属性、下标指示器、操作符、构造函数和析构函数);嵌套的类型2.2类成员的访问修饰符C#支持的类修饰符有:new、public、protected、internal、private、abstract和sealed。new----嵌套类声明时使用,表明隐藏父类中同名的成员。Public----没有
4、限制(类内部,类对象都可访问)Private----只有类内部可以访问Protected----只有本类内部和子类内部可以访问(本类和子类的对象不能访问)Internal------同一个命名空间下的对象可以访问;注意:命名空间下的类只有两个显式的修饰符:public,internal;默认类的访问修饰符是:internal2.3构造函数和析构函数构造函数:构造函数用于初始化构造函数与类同名,且没有返回值构造函数通常是public的可以有多个重载的构造函数如果不写构造函数,系统会提供一个缺省的无参数构造函数(如果写
5、了,系统将不再提供)构造函数在创建对象的时候调用(new一个类的实例时)析构函数:析构函数用于释放被占用的系统资源形式上与构造函数相同,除了在名称前面加:~析构函数不能显示的去调用当对象超出了有效范围,系统自动调用其析构函数;关键字thisthis只当前对象;例如:classstudent{stringname="ss";publicstudent(stringname){this.name=name;}publicvoidtest(stringname){Console.WriteLine(name);Conso
6、le.WriteLine(this.name);}};2.4属性(property)属性是对现实世界中实体特征的抽象,它提供了对类或对象性质的访问;比如,一个用户的姓名、一个文件的大小、一个窗口的标题,都可以作为属性。C#中的属性更充分地体现了对象的封装性:不直接操作类的数据内容,而是通过访问器进行访问。它借助于get和set对属性的值进行读写;内部像函数,外部看像字段在属性的访问声明中:只有set访问器,表明属性的值只能进行设置而不能读出。只有get访问器,表明属性的值是只读的,不能改写。同时具有set访问器和g
7、et访问器,表明属性的值的读写都是允许的。2.5static修饰符静态成员和非静态成员:静态成员属于该类的所有对象实例;(无论这个类创建了多少个副本,一个静态成员在内存中只占有一块区域)类的非静态成员属于类的实例所有,每创建一个类的实例,都在内存中为非静态成员开辟了一块区域。静态成员在类外部使用类名访问非静态方法在类外部使用实例名访问静态方法和非静态方法:静态方法中:只能直接访问其他静态成员和其他静态方法;静态方法在类外部使用类名访问非静态方法在类外部使用实例名访问2.6重载方法重载方法名相同,方法参数列表不同;操
8、作符重载必须声明为static和public运算符操作的是对象一元运算符重载二元运算符重载,其中有两个参数,分别为左操作数和右操作数练习1、设计一个类表示银行账户,数据成员有姓名、账号、余额;可以进行的操作有:取款、存款、打印账户信息;2、设计一个类来表示矩阵,并重载矩阵的加法;3、设计一个类(player),表示游戏中的角色(该角色有耐力和体力),重载游戏
此文档下载收益归作者所有