第四讲 属性与方法精选PPT.ppt
《第四讲 属性与方法精选PPT.ppt》由会员分享,可在线阅读,更多相关《第四讲 属性与方法精选PPT.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四讲 属性与方法第1页,此课件共41页哦8.18.1 属性的基本概念属性的基本概念 属性主要用于操控类的私有成员。大家知道,类的私有成属性主要用于操控类的私有成员。大家知道,类的私有成员只能在类的内部访问,这是类的封装性所确定的。为向操员只能在类的内部访问,这是类的封装性所确定的。为向操作公共数据成员那样操作私有成员,就需要使用属性。作公共数据成员那样操作私有成员,就需要使用属性。属性属性是一种用于访问对象或类特性的成员。它有访问器,访问是一种用于访问对象或类特性的成员。它有访问器,访问器实现对属性值的读取或写入操作。器实现对属性值的读取或写入操作。属性的访问器包括属性的访问器包括getge
2、t访问器和访问器和setset访问器访问器,前者用于获取,前者用于获取属性的值,后者用于给属性赋新值。属性的值,后者用于给属性赋新值。属性有两种存在形式,一是在公共语言运行库的基类中定义的属性有两种存在形式,一是在公共语言运行库的基类中定义的属性,另一种是可以创建的自定义属性。属性,另一种是可以创建的自定义属性。在此仅讨论第二种属性。在此仅讨论第二种属性。8 8 属性与方法属性与方法第2页,此课件共41页哦 自定义属性申明在类模块内,定义属性时需要指定属性的访问级自定义属性申明在类模块内,定义属性时需要指定属性的访问级别、类型及属性的名称别、类型及属性的名称,然后是申明,然后是申明getget
3、访问器和访问器和setset访问器的代码访问器的代码块。块。相当于类的一种公共方法。相当于类的一种公共方法。下面定义一个下面定义一个DateDate类,在其中定类,在其中定义一个义一个dayday属性。属性。public class Date private int Day=7;public int day get8 8 属性与方法属性与方法第3页,此课件共41页哦 return Day;set Day=value;value value 是隐形参数,此参数的是隐形参数,此参数的类型是属性类型类型是属性类型8 8 属性与方法属性与方法第4页,此课件共41页哦8.28.2 属性的使用属性的使用
4、因属性定义在类的内部,是非静态方法,要访问属性,需要因属性定义在类的内部,是非静态方法,要访问属性,需要先实例化类的对象,并通过如下方式访问:先实例化类的对象,并通过如下方式访问:对象名对象名.属性名属性名 思考:思考:(1)(1)是否可以在类中定义和使用静态属性?在什么情况下可是否可以在类中定义和使用静态属性?在什么情况下可以考虑使用静态属性?以考虑使用静态属性?下面例子定义一个类,在类中定义两个下面例子定义一个类,在类中定义两个stringstring类型的变量,用于类型的变量,用于记录用户名称和编号,然后在该类中自定义两个属性,用来操作用户记录用户名称和编号,然后在该类中自定义两个属性,
5、用来操作用户编号和姓名。实例化类对象,利用属性改变类的私有变量的值。编号和姓名。实例化类对象,利用属性改变类的私有变量的值。8 8 属性与方法属性与方法第5页,此课件共41页哦 class MyClass private string id=“”;private string name=“”;/定义用户编号属性定义用户编号属性 public string ID/属性名不能和私有变量同名属性名不能和私有变量同名 get 8 8 属性与方法属性与方法第6页,此课件共41页哦 return id;/返回和设置的一定是类的私有变量返回和设置的一定是类的私有变量 set id=value;/定义姓名属性
6、定义姓名属性 public string Name 8 8 属性与方法属性与方法第7页,此课件共41页哦 get return name;set name=value;8 8 属性与方法属性与方法第8页,此课件共41页哦/实例化类对象使用属性实例化类对象使用属性 MyClass myclass=new MyClass();myclass.ID=“BH001”;myclass.Name=“TM”;messagebox.show(myclass.ID);messagebox.show(myclass.Name);8 8 属性与方法属性与方法第9页,此课件共41页哦8.38.3 方法方法 方法是类或
7、结构的成员,是和类或结构相关联的动作。是根据方法是类或结构的成员,是和类或结构相关联的动作。是根据类或结构的成员变量实现的操作。类或结构的成员变量实现的操作。8.3.18.3.1方法的申明方法的申明 方法在类或结构中申明,申明时方法在类或结构中申明,申明时需要指定访问级别、返回值类需要指定访问级别、返回值类型、方法名称及方法参数,方法参数放在括号内,并用逗号隔开。型、方法名称及方法参数,方法参数放在括号内,并用逗号隔开。若括号中没有内容,表示申明的方法没有参数。若括号中没有内容,表示申明的方法没有参数。可访问一个成员的代码范围,叫做该成员的可访问区域可访问一个成员的代码范围,叫做该成员的可访问
8、区域(accessibility domainaccessibility domain),访问修饰符用来控制所修饰成员的可),访问修饰符用来控制所修饰成员的可访问区域。访问区域。申明方法时需要注意访问修饰符用以控制方法的存申明方法时需要注意访问修饰符用以控制方法的存取限制。取限制。在此介绍在此介绍C#C#中有中有5 5种不同级别的修饰符。分别是种不同级别的修饰符。分别是public public、private private、protectedprotected、internalinternal,8 8 属性与方法属性与方法第10页,此课件共41页哦protected internalpro
9、tected internal,除最后一个外,指定一个以上的访问修饰符,除最后一个外,指定一个以上的访问修饰符,将导致编译错误。将导致编译错误。public:public:申明为申明为publicpublic的方法,可以允许任何外部类对其进行访问,的方法,可以允许任何外部类对其进行访问,即其访问不受限制。即其访问不受限制。private:private:与与publicpublic相反,相反,privateprivate对类方法的访问提供了最大限制,对类方法的访问提供了最大限制,方法只允许在定义它的类的内部被访问,若方法没有定义存取修饰符,方法只允许在定义它的类的内部被访问,若方法没有定义存取
10、修饰符,则默认为则默认为privateprivate存取限制。存取限制。protected:protected:在基类和其派生类中才可以访问的方法。在基类和其派生类中才可以访问的方法。internal:internal:允许同一个组件里的类对其方法进行访问。允许同一个组件里的类对其方法进行访问。方法申明的返回类型指定了由该方法计算和返回值的类型,方法申明的返回类型指定了由该方法计算和返回值的类型,若方若方法无返回值,则其返回类型为法无返回值,则其返回类型为voidvoid。8 8 属性与方法属性与方法第11页,此课件共41页哦方法的名称及其参数的数目、修饰符和类型定义了该方法的签方法的名称及其
11、参数的数目、修饰符和类型定义了该方法的签名名(signaturesignature)。返回类型和形参名称均不是签名的组成部分。返回类型和形参名称均不是签名的组成部分。8.3.2 8.3.2 方法的分类方法的分类 方法分为静态方法和非静态方法。静态方法的声明中包含修饰符方法分为静态方法和非静态方法。静态方法的声明中包含修饰符staticstatic,不包含,不包含staticstatic修饰符的方法称为非静态方法。修饰符的方法称为非静态方法。静态方法和非静态方法的区别是,前者直接通过类名进行调用,静态方法和非静态方法的区别是,前者直接通过类名进行调用,后者需要通过类的实例化对象进行调用。后者需要
12、通过类的实例化对象进行调用。8.3.3 8.3.3 方法的重载方法的重载 所谓方法重载指方法名相同,但各种方法中参数的数据类型、个数所谓方法重载指方法名相同,但各种方法中参数的数据类型、个数或顺序不同。只要类中有两个以上同名方法,但参数类型、个数或顺或顺序不同。只要类中有两个以上同名方法,但参数类型、个数或顺序不同,调用时编译器能自动判断调用何种方法。序不同,调用时编译器能自动判断调用何种方法。8 8 属性与方法属性与方法第12页,此课件共41页哦例子:建立重载方法例子:建立重载方法add:public static int add(int x,int y)return x+y;public
13、double add(int x,double y)return x+y;8 8 属性与方法属性与方法第13页,此课件共41页哦 public int add(int x,int y,int z)return x+y+z;/在控件中进行调用在控件中进行调用 提问:分析该如何进行上述方法的调用?提问:分析该如何进行上述方法的调用?8 8 属性与方法属性与方法第14页,此课件共41页哦 本章讲述的重点:本章讲述的重点:结构的基本概念结构的基本概念 结构的用途及使用方法结构的用途及使用方法 面向对象技术的基本概念面向对象技术的基本概念 类的基本概念类的基本概念 类的构造函数和协构函数的使用类的构造函
14、数和协构函数的使用 对象的申明和实例化对象的申明和实例化 对象的封装、继承和多态对象的封装、继承和多态9 9 结构和类结构和类第15页,此课件共41页哦9.19.1 结构概述结构概述 结构是一种值类型,用于封装一组相关的变量,结构中可以包含结构是一种值类型,用于封装一组相关的变量,结构中可以包含构造函数、常量、变量字段、方法和属性、运算符、事件和嵌套类型。构造函数、常量、变量字段、方法和属性、运算符、事件和嵌套类型。结构具有以下特点:结构具有以下特点:结构是值类型;结构作为方法的参数时,结构是值类型;结构作为方法的参数时,需通过传值方式传递,需通过传值方式传递,而非引用方式传递;结构的实例化可
15、以不用而非引用方式传递;结构的实例化可以不用newnew运算符;结构可运算符;结构可以申明构造函数,但需要带参数;一个结构不能从另一个结构或以申明构造函数,但需要带参数;一个结构不能从另一个结构或类继承,所有的结构都继承自类继承,所有的结构都继承自System.ValueTypeSystem.ValueType,而后者继承,而后者继承自自System.Object;System.Object;结构可以实现接口;结构可以实现接口;在结构中不能初始化实在结构中不能初始化实例字段。例字段。9 9 结构和类结构和类第16页,此课件共41页哦在在C#C#中用关键字中用关键字structstruct声明结
16、构:声明结构:存取修饰符存取修饰符 struct struct 结构名结构名 举例:举例:public struct Rect public double width;public double height;9 9 结构和类结构和类第17页,此课件共41页哦 public double Area()return width*height;/结构的使用,需要先实例化结构,然后就可以给结构中的成员变结构的使用,需要先实例化结构,然后就可以给结构中的成员变量赋值,并调用结构中的方法操作成员变量得到一定结果。量赋值,并调用结构中的方法操作成员变量得到一定结果。举例:举例:9 9 结构和类结构和类第1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四讲 属性与方法精选PPT 第四 属性 方法 精选 PPT
限制150内