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