如何理解c#类中的字段、属性、方法以及事件?

作者&投稿:植货 (若有异议请与网页底部的电邮联系)
~ 如何理解c#类中的字段、属性、方法以及事件?, 如何理解c#类中的(字段,属性,方法,事件) 字段
字段是被视为类的一部分的对象的实例,通常用于保存类数据。例如,日历类可能具有一个包含当前日期的字段。
可以选择将字段声明为 static。这使得调用方在任何时候都能使用字段,即使类没有任何实例。
可以将字段声明为 readonly。只读字段只能在初始化期间或在构造函数中赋值。
static readonly 字段非常类似于常数,只不过 C# 编译器不能在编译时访问静态只读字段的值,而只能在运行时访问。
属性
属性是类中可以像类中的字段一样访问的方法。属性可以为类字段提供保护,以避免字段在对象不知道的情况下被更改。
属性使类能够以一种公开的方法获取和设置值,同时隐藏实现或验证代码。
get 属性访问器用于返回属性值,而 set 访问器用于分配新值。这些访问器可以有不同的访问级别。
value 关键字用于定义由 set 索引器分配的值。
不实现 set 方法的属性是只读的。
对于不需要任何自定义访问器代码的简单属性,可考虑选择使用自动实现的属性。看个示例:public class userInfo
{
字段
private string name; 其它类不能访问
public int age; 其它类可访问,但既可赋值,也可取值。
属性
public string Name 其它类可访问,但只能赋值,不能取值。
{
注释了get就只能给Name赋值,而不能取值。反之依然
get{return name;}
set
{
TODO:可以调用方法等其它操作。 这里就是一个方法,方法名为set,参数为value;
name=value;
}
}
} .方法
方法定义类可以执行的操作。方法可以接受提供输入数据的参数,并且可以通过参数返回输出数据。方法还可以不使用参数而直接返回值。事件
事件向其他对象提供有关发生的事情(如单击按钮或成功完成某个方法)的通知。事件是使用委托定义和触发的。
C#中方法,属性,字段,事件,变量,这个几个概念应该如何理解和区分?
嗯,是有点抽像,我不懂c#,但不仅仅是c#中,别的语言都是一样的
我打个比方吧:以某人做为比方
方法:某人要去上班,是骑车去,还是步行去,还是坐公交,这里面你就选择一样去上班,此乃方法
属性:这个人叫小明,而"小明"就是这个人的属性值,他的名字就是这个人的属性
字段:不清楚字段是c#中的意义,故不作评论
事件:某人去上班,选择了骑车了去,但还是迟到了,这就是一个“迟到”事件
变量:这个人要上去上班,他需要交通工具,但他的交通工作有自行车,电瓶车,摩托车,所以交通工具是变量
不一定准确,但大同小意,楼主再仔细甄别一下吧
如何理解C# 接口中的方法、属性、索引器和事件?
打个比方:
你要吃饭---事件
人----类
你这个人---对象
你的嘴----属性
你吃饭的时候端碗---方法
描述你吃饭是第几次(第一次吃,第二次吃。。。)---索引
描述动物都能吃饭(但是你用嘴还是用 *** 吃饭他不管)---接口
如何理解VB语言中的属性方法和事件
1、VB是面向对象的语言,基于对事件编程。 2、一个对象中可以包含属性、方法,也可以包含事件。
如何理解java中类,变量,方法以及包,接口,常量。
这些东西结合到日程生活中的事物就比较好理解了

类是一个概念的统称,比如动物,无法具体到是狗,猫还是其他的,再比如说人、植物啊

变量 比如一个小孩,名字叫XX,年龄XX,名字和年龄都可以成为一个变量

方法 比如一个小孩吃饭啊,睡觉啊,这些动作行为都可以称为一个方法

包,就类似于我们电脑上创建一个文件夹,文件夹里可以再创建文件夹以及文件等等,文件夹就可以称为一个包

常量,比如居民身份证号,这个居民去办身份证,派出所给这个居民一个身份证号,这个身份真号就不能再变了,固定了,这个身份证号就可以作为一个常量

接口 比如打印机,可以彩打,也可以黑白打,不管彩打还是黑白打都是用一个打印机实现的,黑白磨和彩墨就相当于接口,你让打印机选择了黑白磨就打印出来黑白的,让打印机选择彩墨就打印出来彩墨的

如何理解python类中列表的属性
就比方说 有一个类 叫做 car

这个类的属性 可以有 color size brand price year 等描述性的东西

这个类的方法 可以是 run s forward backward 等执行性的东西
class car: #定义基本属性 color = '' size = 0 brand = '' price = 0 year = 0 #定义构造方法 def __init__(self): self.color = color self.size = size self.brand = brand self.price = price self.year = year def run(self): print("the car is running" ) def s(self): print("the car is s" ) def forward(self): print("the car is forward" ) def backward(self): print("the car is backward" )#类调用benz = car('red',1.8T,'Mercedes',400000,2016) benz.run() benz.s() benz.forward() benz.backward()

flash as中的方法和事件如何理解?
术语对菜鸟无益,来比喻吧
方法和事件是对Object物体来说的,就像人有跑走站卧行等动作,类似于方法;也有生长、社交、学习、婚姻等事务,类似于事件
我不能保证是与方法和事件完全对应的。
但方法是物体的行为或功能方面的能力;事件是物体阶段或标志性的综合情况。
如AS中有鼠标侦听、键盘侦听、屏幕刷新等事件,又有剪辑属性、屏幕属性等功能方法
累死我了。不知道说清没有
如何动态调用DLL中类的方法以及属性
在C#中可以通过Assembly来动态加载DLL,然后由它创建类型,接着通过类型的InvokeMember方法来调用DLL中类的方法以及属性。 为了方便说明一下的方法,先说明一下DLL的代码,大致如下:using System;namespace clsTestDll{ /<summary> / Summary description for TestDll. /</summary> publilass TestDll { privatestring strName; public TestDll() { TODO: Add constructor logic here strName = ""; } publicstring GetValue( int nCount ) { returnstring.Format( "Count is {0}!", nCount ); } publicstaticstring GetNewValue( int nCount ) { returnstring.Format( "New count is {0}!", nCount ); } publicstring Name { get{ return strName;} set{ strName = value;} } }} 大致的步骤如下:首先加载DLL,具体如下: Load assembly from dll file Assembly assembly = Assembly.LoadFrom( "clsTestDll.dll"); 其次,用加载的assembly来定义指定的类型,例如: Create new type Type t = assembly.GetType( "clsTestDll.TestDll"); 然后就可以通过新建的类型来调用类的方法。 如果是类的静态方法,可以直接调用,如: Call static member function by name string strReturn = (string) t.InvokeMember("GetNewValue", BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Static | BindingFlags.InvokeMethod, null, null, newobject[]{ 12 } ); 如果是类的非静态方法或属性,则需要通过类型,先生成类的对象,如: Create new object of specific class name Object obj = t.InvokeMember( null, BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.CreateInstance, null, null, null ); 接着,就可以通过“obj”对象来进行调用了,如: Call member function by name strReturn = (string) t.InvokeMember("GetValue", BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod, null, obj, newobject[]{ 12 } ); Set class property t.InvokeMember("Name", BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty, null, obj, new Object[] {"Test"} ); Get class property strReturn = (string) t.InvokeMember("Name", BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetProperty, null, obj, null);


C语言是什么意思干什么的?
C语言作为一门计算机编程通用语言,被广泛应用,c语言的设计目标是提供一种能以简易的方式编译、处理低级储存器、生产少量的机器码以及不需要任何运行环境支持便能运行的编程语言。在基本概念了解之后,想要精通C语言,它的特点和必备知识内容,你需要了解哪些?C语言基本特点:1.语言简洁,实用灵活方便。2....

什么是C语言?
在初学C语言时,可能会遇到有些问题理解不透,或者表达方式与以往数学学习中不同(如运算符等),这就要求不气馁,不明白的地方多问多想,鼓足勇气进行学习,待学完后面的章节知识,前面的问题也就迎刃而解了,这一方面我感觉是我们同学最欠缺的。大多学不好的就是因为一开始遇到困难就放弃,曾经和好多同学谈他的问题,回答...

想了解C语言,求指导
就是说,学习后面的知识,不要忘了回头弄清遗留下的问题和加深理解前面的知识,这是我们学生最不易做到的,然而却又是最重要的。学习C语言就是要经过几个反复,才能前后贯穿,积累应该掌握的C知识。

C语言与C++有何区别与联系
从上文可以看出, C实现了C++中过程化控制及其它相关功能,而在C++中的C(我称它为“C+”),相对于原来的C还有所加强,引入了重载、内联函数、异常处理等等玩艺儿,C++更是拓展了面向对象设计的内容,如类、继承、虚函数、模板和包容器类等等。 再提高一点,在C++中,数据封装、类型这些东东已不是什么新鲜事了,需要...

什么是C语言?
C语言是目前世界上流行、使用非常广泛的高级程序设计语言。C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值...

什么是C语言
详情请查看视频回答

c++与c语言有何不同呢?
c语言是面向过程的。面向过程是着重于其中程序设计的算法、语言的运用,如设计不同功能的函数。C++是面向对象的。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。c语言的特点:1、代码具有较好的可移植性 C语言是面向过程...

学习C语言需要掌握哪些基本知识?
一.学好C语言的运算符和运算顺序 这是学好《C程序设计》的基础,C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。当多...

C语言和C++有何区别?编程思路,语句有何区别?
无论学C,还是学C++,基本概念都是第一位的,也是比较困难的,但只有把握了基本概念才能把握整体脉络,才能居高临下。2.C是C++的子集,它的基本概念和设计方法相对比较容易理解,初学者可从它入手。3.如果要学好C++,建议初学者最好别在如VC,BCB平台下写程序,那种自动化的代码生成,花花绿绿的...

C语言移植怎么样理解
移植性高,指 源程序 不需改动或只需稍加改动,就能编译后正确运行。也有人理解,可移植性包括可翻译性,例如,通过翻译程序翻译,或解释程序解释,就能在另一台机上(另一种操作系统或硬件平台)运行。可移植性并不是指所写的程序不作修改就可以在任何计算机上运行,而是指当条件有变化时,程序无需...

陆丰市19477383496: 如何理解c#类中的(字段,属性,方法,事件) -
再询苦双: 字段字段是被视为类的一部分的对象的实例,通常用于保存类数据.例如,日历类可能具有一个包含当前日期的字段.可以选择将字段声明为 static.这使得调用方在任何时候都能使用字段,即使类没有任何实例.可以将字段声明为 readonly....

陆丰市19477383496: C#中类的字段和属性怎么理解? -
再询苦双: 字段是private.属性是public. // 因为字段我们在类内部使用,而属性是暴露给外部的. 字段小写开头,属性大写开头; // 区分作用 因为设置了属性,有时候我们可以利用 举例: public class Student{private string name;public string Name{ // ...

陆丰市19477383496: C#中的“字段”应该怎么理解? -
再询苦双: 楼上回答的是数据库里的字段概念,c#的字段就是指私有域(变量) class A { int i; public int I { get{....} set{....} } } 其中,i是字段,I是属性,

陆丰市19477383496: C#中属性和方法分别是什么意思
再询苦双: 举例子属性就是 int a; String c; char d; 等等 方法如 void SayHi(){ } 这两个都在类里面的 C#是面向对象编程,也就是说事物都有属性和方法,但在面向对象思想中,把这两者区分开,不考虑他们的内在联系 所以属性是用来描述事物状态的,而方法就是用来描述事物的行为和功能的.

陆丰市19477383496: 如何形象地理解C#中的类,字段和方法 -
再询苦双: Main是静态方法,只能调用同样是静态的方法,而sum不是 为了能通过编译,你有两种选择: 一. 把sum改成static的 二. 建立一个Program类的对象,在其之上调用sum方

陆丰市19477383496: c# class类怎么理解?实例化?属性?字段? -
再询苦双: 字段是被视为类的一部分的对象的实例,通常用于保存类数据.例如,日历类可能具有一个包含当前日期的字段.可以选择将字段声明为 static.这使得调用方在任何时候都能使用字段,即使类没有任何实例.可以将字段声明为 readonly.只读...

陆丰市19477383496: C#中的字段与属性有什么区别? -
再询苦双: 二者都是访问内部字段.属性本质上来说是个方法,但是在通过属性给内部字段赋值(set)可以加上自己的逻辑判断或限制等等,通过属性取值取值(get)当然也可以加一些跟你业务逻辑相关的code.总之是用属性是个好习惯,不要直接把字段暴露出来.

陆丰市19477383496: C#中属性和字段的区别 -
再询苦双: C#中属性和字段的区别为:访问性不同、包含不同、安全性不同. 一、访问性不同 1、C#中属性:C#中属性是限制只能给变量赋于某个范围的值,是有限制的访问私有变量. 2、C#中字段:C#中字段是自由的、毫无限制的访问公有变量. 二...

陆丰市19477383496: C# 属性怎么理解 -
再询苦双: 属性是对一个私有变量读写值,对外返回一个公共值,这个“值”就是“字段”,对私有变量的“读写”就是利用方法来实现的(太短的就直接写代码了,不用方法)

陆丰市19477383496: C#中字段和属性的概念谁能帮帮我 -
再询苦双: 字段是对类的特性的一种描述,属性是为了提高字段的安全性而对字段的一种封装, 这个都是基本概念 我也是学C#的 有空的话加我吧 一起学习咯 呵呵呵 我Q664552728

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网