类、字段、方法、属性之间的定义及部分区别
更新时间:2023-05-01 07:33:01 阅读量: 实用文档 文档下载
- 没有恰当的方法属性或字段推荐度:
- 相关推荐
类、字段、方法、属性之间的定义及部分区别
1、在c#中。类是主要的类型。类声明定义新的引用类型。一个类可以从另一个类继承。并且可以实现接口。类成员可以包括常数、字段、方法、属性、事件、索引器、运算符、实例构造函数、析构函数、静态构造函数和嵌套类型声明。每个成员都有关联的可访问性。它控制能够访问该成员的程序文本区域。有五种可能的可访问形式。
(1)public。不限制访问。
(2)protected。尽在同一个类内。或该类的派生类中访问。
(3)Internal。仅从同一个项目内访问。
(4)protected internal。访问限于同一个项目或派生类。
(5)Private。访问限于本类。
2、字段。是表示与对象或类关联的变量的成员。例子如下——
class Color
{
internal ushort redPart;
internal ushort bluePart;
internal ushort greenPart;
public Color(ushort red,ushort blue,ushort green)
{
redPart=red;
bluePart=blue;
greenPart=green;
}
....
}
此例显示了一个Color类,该类具有名为redPart、bluePart、greenPart的内部实例字段。
3、方法。方法是实现可以由对象或类执行的计算或操作的成员。方法有一个形参表(可能为空)、一个返回值(若返回值类型为void则没有)。并且方法可以是静态的或是非静态的。通过类访问静态方法。通过类的实例访问实例方法。
下面代码定义了一个Stack类。该类具有若干静态方法(Clone和Flip)和若干实例方法(Push、Pop和ToString)。
public class Stack
{
public static Stack Clone(Stack s) {...}
public static Stack Flip(Stack s) {...}
public object Pop() {...}
public void Push(object o) {..}
public override string ToString() {...}
...
}
class Test
{
static void Main()
{
Stack s=New Stack();
for(int i=1;i<10;i++)
s.Push(i);
Stack flipped=Stack.Flip(s);
Stack cloned=Stack.Clone(s);
Console.WriteLine("Original stack:"+s.ToString());
Console.WriteLine("Flipped stack:"+flipped.ToString());
Console.WriteLine("Cloned stack:"+cloned.ToString());
}
}
4、属性。属性提供对对象或类的特性的访问。属性是字段的自然扩展。两者都是具有关联类型的命名成员。并且访问字段和属性的语法相同。然而。与字段不同。属性不表示存储位置。相反。属性有访问器。这些访问器指定在他们的值被读取或写入时执行的语句。
属性用属性声明定义。属性声明的第一部分看上去和字段声明非常类似。第二部分包含一个get访问器和/或一个set访问器。在下面的例子中。Button类定义一个Caption属性。 public class Button
{
private string caption;
public string caption
{
get
{
return caption;
}
set
{
caption=value;
Repaint();
}
}
}
可读取并写入的属性(如Caption)同时包含get和set访问器。当读取属性值时调用访问器。当写入属性值时则调用set访问器。在set访问器中。传入一个名为value的隐式函数。利用该参数可以更新属性。
利用属性可以制造直接访问类的成员的假象。但同时又可以对访问过程进行设置。一般讲类的字段定义为私有的。而通过设置相应的属性访问该私有字段。
5.事件。事件是使对象或类能够提供通知的成员。类通过提供事件声明来定义事件。事件声明类似于字段声明。但他增加了event关键字和一组可选的事件访问器。此声明的类型必须
为委托类型。
委托类型的实例封装一个或多个可调用的实体。对于实例方法。可调用的实体由一个实例和该实例的方法组成。对于静态方法。可调用的实体仅由一个方法组成。已知委托实例和适当的参数集。可以用参数集调用此委托实例的所有方法。
在下面的例子中:
public delegate void EventHandler(object sender,System.EventArgs e);
public class Button
{
public event EventHandler Click;
puclic viod Reset()
{
Click=null;
}
}
Button类定义类型EventHandler的Click事件。在Button类的内部。Click成员与类型EventHandler的私有字段完全一样。而在Button类的外部。Click成员只能用在“+=”或“-=”运算符的左侧。“+=”运算符添加事件的处理程序。而“-=”运算符移除事件的处理程序。
下面的代码定义了一个Form1类。该类将Button1_Click添加为Button1的Click事件的事件处理程序。在Disconnect方法中。该事件处理程序被移除。
public class Form1
{
public Form1()
{
Button1.Click+=new EventHandler(Button1_Click);
}
Button Button1=new Button();
void Button1_Click(object sender,EventArgs e)
{
Console.WriteLine("Button1 was clicked!");
}
public void Disconnect()
{
Button1.Click-=new EventHandler(Button1_Click);
}
}
正在阅读:
类、字段、方法、属性之间的定义及部分区别05-01
第一册安全管理基本资料 - 图文01-18
优秀广告作品评析课程期末复习指导09-22
化学第二次月考10-05
《组织行为学任务一答案》05-09
生理学名词解释01-02
电影《阿诗玛》的解禁04-21
诊断学名词解释重点全09-19
班主任工作计划初中一年级(优质版)04-22
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 字段
- 属性
- 定义
- 区别
- 之间
- 部分
- 方法
- 合肥杠岗香食品有限公司肥东中央厨房项目可行性实施报告
- 【实习报告】电子实习报告范文
- 小学语文课程标准培训讲稿
- 开展“争当解放思想先锋、争做科学发展模范”活动总结
- 2017年贵州师范大学历史与政治学院333教育综合之外国教育史考研题库
- 钢包转运电动轨道平车设计要求及选型参考
- 周坤_企业规范化管理
- 五倍子加工调研报告
- 最新部编人教版道德与法治三年级上册《父母多爱我》教案教学设计
- 英语复试自我介绍范文3篇
- 人教PEP版2019-2020学年六年级英语下册第四单元测试题含答案
- 危化品安全管理及使用方案
- 福建省永泰县第一中学2020学年高一语文下学期期末考试试题
- 智能化施工组织设计方案(通用版)
- 小学数学三年级下册人教版第一单元《位置与方向(一)》 单元测试(答案解析)
- 法律风险提示函两篇.doc
- 一位凡夫向一位师父请教道
- 软件工程与UML实训--可行性研究报告
- 【语文版】高中语文必修三:第13课《黄州新建小竹楼记》同步练习及答案
- 2019年上半年幼儿教师资格证考试真题及答案解析《幼儿综合素质》