C面向对象程序设计.ppt

C面向对象程序设计.ppt

第四章 面向对象程序设计;4.1 面向对象的基本思想 ;全局数据;2.面向对象程序设计(OOP);对象A;面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范,其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计;从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。;3.面向对象程序设计的优点;4.2 面向对象程序设计基本概念;Tom;2. 类与对象;2.1.类与对象的概念 2.1.1 类 把众多的事物归纳、划分成一些类是人类在认识客观世界时经常采用的思维方法。分类的原则是抽象。 类是具有相同属性和服务的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。 定义类的过程就是定义类的属性和服务的过程。 ;2.1.2 对象 定义类的目的是使用这些类???创建并操纵某个类的对象是使用类的主要手段。 对象是类的一个实例(instance)。 对象的生命期 创建 使用 清除;2.2 类的定义;例如,以下声明了一个Person类:  public class Person  { public int pno; //编号 public string pname; //姓名    public void setdata(int no,string name) {     pno=no; pname=name; } public void dispdata() {   Console.WriteLine({0} {1}, pno, pname); }  };;声明对象和创建对象的语法格式分别如下: 类名 对象名; //声明对象 对象名 = new 类名(); //创建对象 也可以在声明的同时创建对象: 类名 对象名 = new 类名();;2.4 类的成员;;;2.4.3 静态成员与实例成员 C#的类定义中可以包含两种成员:静态成员和非静态成员(也即实例成员)。使用了static修饰符的方法为静态成员,反之则是实例成员。 使用static修饰符声明属于类型本身而不是属于特定对象的静态成员。static修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类以外的类型。 静态成员属于类,在内存中只有一份,不必建立该类的实例,通过类名即可使用;而实例成员属于用该类创建的实例,要通过对象名使用。 非静态方法可以访问类中包括静态方法在内的所有成员,而静态方法只能访问类中的静态成员。 ;从内存管理的角度看,静态成员是在一个共享的内存空间中定义,所有对象都可以访问这个空间中的同一个静态成员;而非静态成员在对象被创建时形成自己的存储空间(这个空间是对象所拥有空间的一部分),这样不同的对象将形成不同的非静态成员(虽然它们的类型都一样)。 从访问的方式看,静态成员不需要(也不能)实例化,只要定义类了以后就可以通过类名来访问它;而非静态成员则需要在创建对象以后通过对象名来访问。; 声明静态成员是由修饰符static来完成,例如: private static int y; //静态成员变量 public static void f(int x) { } //静态成员方法 ;【例】 静态成员与非静态成员的区别。 class StaticCl { private string objName; private int x; //非静态成员变量 private static int stx; //静态成员变量 public void setx(int x) //非静态成员方法 { this.x = x; } public static void setstx(int y) //静态成员方法 { stx = y; //在静态成员方法中不能使用关键字this } public void show() //非静态成员方法 { Console.WriteLine(对象{0}:x =

文档评论(0)

1亿VIP精品文档

相关文档