- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
07信7第2章2-类的成员
[组织教学]
检查人数,观生精神状态
[复习提问]
1、复习面向对象概述:
(1)理解:类和对象的概念、对象的基本特征
(2)初步掌握:C#中类的声明
(3)完全掌握:类的实例化(定义),用点操作符访问对象成员
2、提问:
(1)Pascal、camel命名法
(2)类声明的关键字,访问修饰符
(3)对象的三个特征
[导入]
对象包含数据和行为,类可以有哪些成员呢?术语
[新授]
第2章 面向对象程序设计基础
2.2.3 类的成员
a)包括继承的成员和本类声明的成员
b)包括数据成员和函数成员(行为)
c)详细种类有:P33(5分钟)严格术语,“变量”“字段”
1、类成员的访问控制
成员访问限制修饰符:
a)和类修饰符作用相似,外延有所不同,默认值不同public;
——提问:类修饰符的默认值,比较类的修饰符
b)放在类型名前面,一般第一位置;
P33(10分钟)暂不举例子,重点掌握
2、静态成员和非静态成员(难点)
a)static修饰符,在类型名前面,一般访问限制修饰符的后面第二位置
b)静态成员属于类,先于非静态成员加载(分配内存),不属于任何一个实例,但所有实例共有,每个均可访问之
c)“类名.静态成员名” 访问之
d)非静态成员:不用static修饰的,“对象名.非静态成员名”,可称之为实例成员
2.3 构造函数
a)在程序员对类进行实例化时被调用的特殊函数成员,
b)一般包含初始化实例成员的代码
c)与类同名
d)无返回值,可以有参数
e)一般是public
f)一个类可以没有构造函数,系统将提供默认构造函数,自动初始化类的字段为对应类型的默认初始化值(如 int字段初始为0),后参P52
——提问:C语言是否有默认初始化值?
g).NET 中程序员不必管理内存分配和回收,可以没有析构函数,而不会造成内存泄露。
1、构造函数重载(次要)
a)函数重载(overload):函数名相同,参数不同。(返回值类型和访问修饰符可以不同,函数体一般不同)
b)应用场合:完成不同构造任务,如Student类,缺少信息时
2、静态构造函数(次次要)
——提问:怎么看出来是静态构造函数?
a)不会被程序员调用,.NET 系统调用
b)完成类静态成员的初始化,不能在此函数体中访问类的非静态成员
2.4 方法
方法是体现对象行为的函数成员,是程序员主要编写的东西
2.4.1 方法的声明
1、声明语法:
和C函数基本相同
多了修饰符,参数类型更丰富
函数范围广,严格不是C#中的概念,没有不属于类或结构体的函数
方法修饰符
作用和类修饰符、通用的类成员修饰符相似,外延不同,目前只需记住通用的类成员修饰符,P39,但不看
注意也有静态和非静态之分,调用问题:只需记住静态术语类,否则属于实例,类先于实例存在,调用时必须已经存在。
返回值类型
void必须
方法名
建议Pascal规则
形式参数表
参数修饰符+类型名+形式参数名
参数修饰符:ref out params
2、调用方法
注意实参参数修饰符要有
3、参数类型
(1)值参数(难点)
方法的局部变量,拷贝值,传值,最常用,是默认类型
图示举例
(2)引用参数(难点)
用ref修饰符
类似C中的数组参数,传内存地址,不拷贝,要求实参已经初始化
图示举例
(3)输出参数(难点)
out修饰符
实际上也是传址,但不要求初始化实参
与ref参数比较:ref参数用于依靠被调用方法修改参数的场合;out参数主要用于想返回多个值的场合
注意:调用方法时,ref 和 out均不可省略
(4)参量参数(略)
2.4.2 方法重载
参见构造函数重载,其实都是函数重载
2.5 字段和属性
字段是类中主要的数据成员,变量,一般是私有的
属性是类为外部访问其私有字段而声明的函数成员,一个属性对应一个私有字段,可用又不破坏封装性,
(方法也可以完成属性的功能,但属性不带括号和参数表,更直观)
2.5.1 字段
声明
可用修饰符(要求类似方法的修饰符)
注意可以用readonly修饰符,除了定义时只可构造函数修改:常量const只在定义时。
建议用camel规则命名
访问
字段默认初始化值
值类型P52 ,引用类型 null
2.5.3 属性
声明和定义
不含括号和参数表
建议属性名用Pascal规则
get和set访问器
get中有return
set中隐含参数value
只读、只写和读写属性
set和get不是必须都用
小案例指导:
建立控制台项目
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
文档评论(0)