(本科)第8章面向对象程序设计基础ppt课件.ppt
《(本科)第8章面向对象程序设计基础ppt课件.ppt》由会员分享,可在线阅读,更多相关《(本科)第8章面向对象程序设计基础ppt课件.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程主讲人:第8章 面向对象程序设计基础“物以类聚,人以群分。物以类聚,人以群分。”战国策战国策万事万物皆对象(万事万物皆对象(Everything is an object)。)。Bruce Eckel Java编程思想编程思想8.1 类与对象类与对象8.2 方法方法8.3 字段字段8.4 属性属性8.5 索引器索引器8.6 面向对象特性面向对象特性类类 (class) 是最基础的是最基础的 C# 类型。类是一个数据结构,将状态(字段)类型。类是一个数据结构,将状态(字段)和操作(方法和其他函数成员)组合在一个单元中。类为动态创建的和操作(方法和其他函数成员)组合在一个单元中。类为动态创建的
2、类实例类实例 (instance) 提供了定义,实例也称为对象提供了定义,实例也称为对象 (object)。类类 (class) 是最基础的是最基础的 C# 类型。类是一个数据结构,类型。类是一个数据结构,将状态(字段)和操作(方法和其他函数成员)组合将状态(字段)和操作(方法和其他函数成员)组合在一个单元中。类为动态创建的类实例在一个单元中。类为动态创建的类实例 (instance) 提提供了定义,实例也称为对象供了定义,实例也称为对象 (object)。 访问修饰符访问修饰符 class class 类名称类名称 成员修饰符成员修饰符 类的成员变类的成员变量或者成员函数量或者成员函数 【实
3、例实例8-1】声明鸟类。声明鸟类。class Birdclass Bird public string color; / public string color; /颜色颜色 private float speed; /private float speed; /飞行速度飞行速度 构造函数和析构函数是类中比较特殊的两种成员函构造函数和析构函数是类中比较特殊的两种成员函数,分别用来对对象进行初始化和回收对象资源。对数,分别用来对对象进行初始化和回收对象资源。对象的生命周期从构造函数开始,从析构函数结束象的生命周期从构造函数开始,从析构函数结束构造函数的名字与类名相同,析构函数的名字也和构造函数的
4、名字与类名相同,析构函数的名字也和类名相同,不过析构函数要在名字前加一个波浪号类名相同,不过析构函数要在名字前加一个波浪号()。()。【实例实例8-2】带有构造函数和析构函数的鸟类。带有构造函数和析构函数的鸟类。在在C#中实例化一个对象时,需要经历下列步骤:中实例化一个对象时,需要经历下列步骤:声明引用;声明引用;使用使用new关键字创建类的对象并对其初始化;关键字创建类的对象并对其初始化;将引用指向类的对象。将引用指向类的对象。如实例如实例8-2中代码:中代码:Bird b1=new Bird();Bird b1声明声明Bird类型的类型的b1引用;引用;new Bird()通过调通过调用构
5、造函数实例化用构造函数实例化Bird对象;使用对象;使用b1引用到该对象。引用到该对象。【实例实例8-2】带有构造函数和析构函数的鸟类。带有构造函数和析构函数的鸟类。class Student string strname; public Student(string name) /一个参数的构造函数 strname = name; Console.WriteLine(姓名: + name + 性别:未知 年龄:未知); /输出学生信息 public Student(string name, string sex) /两个参数的构造函数 strname = name; Console.Writ
6、eLine(姓名: + name + 性别: + sex + 年龄:未知); /输出学生信息 public Student(string name, string sex, int age) /三个参数的构造函数 strname = name; Console.WriteLine(姓名: + name + 性别: + sex + 年龄: + age); /输出学生信息 Student() Console.WriteLine(学生 + strname + 信息输出完毕!); /输出操作状态提示信息 static void Main(string args) Console.WriteLine(输
7、出学生信息:); Student stu1 = new Student(小张); /实例化类的实例 Student stu2 = new Student(小王, 男); /实例化类的实例 Student stu3 = new Student(小冯, 男, 22); /实例化类的实例 一个方法是把一些相关的语句组织在一起,用来执一个方法是把一些相关的语句组织在一起,用来执行一个任务的语句块,是类的成员。构造函数和析构行一个任务的语句块,是类的成员。构造函数和析构函数是类的特殊的方法。函数是类的特殊的方法。声明方法的格式如下:声明方法的格式如下:修饰符修饰符 返回值类型返回值类型 方法名称方法名称
8、 (参数列表参数列表)方法体方法体【实例实例8-4】猫的喜好和本领猫的喜好和本领class Cat public Cat(string name) /构造函数输出猫的姓名 Console.WriteLine(我是 + name); public void interest() /输出猫的喜好的方法 Console.WriteLine(我喜欢晒太阳); public void action() /输出猫的本领 Console.WriteLine(我可以捉老鼠); static void Main(string args) Cat bigcat = new Cat(小花猫); /实例化一个猫类 b
9、igcat.interest(); /输出猫的喜好 Cat smallcat = new Cat(大花猫); /实例化一个猫类 smallcat.action(); /输出猫的本领 图8-3 实例方法它们之间的区别有以下几点:它们之间的区别有以下几点:(1)方法前是否有)方法前是否有static关键字。关键字。(2)静态方法是类中的一个成员方法,属于整个)静态方法是类中的一个成员方法,属于整个类,即不用创建任何对象也可以直接调用,而非静态类,即不用创建任何对象也可以直接调用,而非静态方法则只能通过类的实例才能调用。方法则只能通过类的实例才能调用。 (3)非静态方法可以访问类中的任何成员,静态)
10、非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员。方法只能访问类中的静态成员。 (4)静态方法中不能使用)静态方法中不能使用this关键字。关键字。【实例实例8-5】使用静态方法和非静态方法实现加法运算使用静态方法和非静态方法实现加法运算class Program public static int Add1(int x, int y) /定义一个静态方法实现整形数相加 return x + y; public int Add2(int x, int y) /定义一个非静态方法实现整形数相加 return x + y; static void Main(string args)
11、 /通过静态方法输出两个数相加的结果 Console.WriteLine(静态方法:0+1=2, 23, 34, Add1(23, 34); Program n = new Program(); /实例化类的对象 /通过实例方法输出两个数相加的结果 Console.WriteLine(实例方法:0+1=2, 23, 34, n.Add2(23, 34); 图8-4 静态方法与实例方法在同一个类中定义多个方法名相同、参数列表(参在同一个类中定义多个方法名相同、参数列表(参数类型,参数个数)不同的方法,这样的形式称为方数类型,参数个数)不同的方法,这样的形式称为方法重载。重载的好处就是不用因为参数
12、的个数和类型法重载。重载的好处就是不用因为参数的个数和类型不同而去定义不同的函数名。调用时编译器会根据实不同而去定义不同的函数名。调用时编译器会根据实际传入参数的形式,选择与其匹配的方法执行。际传入参数的形式,选择与其匹配的方法执行。【实例实例8-6】重载实现整形数相加和字符串连接重载实现整形数相加和字符串连接class Program public int Add(int x, int y)/定义一个非静态方法实现整形数相加 return x + y; public string Add(string a, string b) /定义一个非静态方法实现字符串连接 return a + b;
13、static void Main(string args) /实例化类的对象 Program n = new Program(); Program str = new Program(); /输出两个数相加的结果 Console.WriteLine(0+1=2, 23, 34, n.Add(23, 34); /输出两个字符串的连接结果 Console.WriteLine(0+1=2, wel, come, str.Add(wel, come); 图8-5 重载方法类中定义的变量和常量叫字段。按照不同的划分方类中定义的变量和常量叫字段。按照不同的划分方式可分为:静态字段、实例字段、常量字段和只读
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科第8章 面向对象程序设计基础ppt课件 本科 面向 对象 程序设计 基础 ppt 课件
限制150内