社区
C#
帖子详情
c#中的类指的是什么?
huide33
2011-01-03 01:29:39
求解
...全文
293
16
打赏
收藏
c#中的类指的是什么?
求解
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
HolyPlace
2011-01-06
打赏
举报
回复
class
对象
kuaileliuyuan
2011-01-06
打赏
举报
回复
class 类名
{
private/public/protected 变量名1
private/public/protected 变量名2
……
private/public/protected 构造函数1
private/public/protected 构造函数2
……
private/public/protected 成员函数1
private/public/protected 成员函数2
……
}
Nihn
2011-01-06
打赏
举报
回复
类——具有相同属性和行为的实体的集合。
zj514394212
2011-01-06
打赏
举报
回复
就是对象,汗
flyerwing
2011-01-06
打赏
举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
看MSDN
http://msdn.microsoft.com/zh-cn/library/ms173104(VS.90).aspx
[/Quote]
这东西真不知道怎么说,OO就是OO.
TimZhuFaith
2011-01-06
打赏
举报
回复
container object
战斗牙刷
2011-01-06
打赏
举报
回复
这种概念相当的抽象,需要个人去慢慢的通过实例去领悟一下
huide33
2011-01-06
打赏
举报
回复
谢谢。
weakey
2011-01-03
打赏
举报
回复
这个问题嘛,很抽象。
wangsong145
2011-01-03
打赏
举报
回复
c#是面向对象编程语言,一切事物均可以看作对象来处理,类是把对象抽象出来
ningweidong
2011-01-03
打赏
举报
回复
就是面向对象里的类
咸鱼传奇
2011-01-03
打赏
举报
回复
看MSDN
http://msdn.microsoft.com/zh-cn/library/ms173104(VS.90).aspx
wuyq11
2011-01-03
打赏
举报
回复
看MSDN
http://msdn.microsoft.com/zh-cn/library/ms173104(VS.90).aspx
sparadise1003
2011-01-03
打赏
举报
回复
类实际上是创建对象的模板,每 个对象都包含数据,并提供了处理和访问数据的方法。类定义了每个类对象(称为实例)可以包含什么数据和功能。例如,如果一个类表示一个顾客,就可以定义字段CustomerID、FistName、LastName和Address,以包含该顾客的信息。还可以定义处理存储在这些字段中的数据的功能。接着,就可以实例化这个类的对象,以表示某个顾客,并为这个实例设置这些字段,使用其功能。
Ricky_yyy
2011-01-03
打赏
举报
回复
类(Class)实际上是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。
在C++、C#语言中,class和struct都可以定义一个类,它们的区别如下。
class是引用类型,继承自System.Object类;struct是值类型,继承自System.ValueType类,因此不具多态性。但是注意,System.ValueType是个引用类型。
从职能观点来看,class表现为行为;而struct常用于存储数据。
class支持继承,可以继承自类和接口;而struct没有继承性,struct不能从class继承,也不能作为class的基类,但struct支持接口继承(记得吗,《第二回:对抽象编程:接口和抽象类》也做过讨论)
class可以声明无参构造函数,可以声明析构函数;而struct只能声明带参数构造函数,且不能声明析构函数。因此,struct没有自定义的默认无参构造函数,默认无参构造器只是简单地把所有值初始化为它们的0等价值
实例化时,class要使用new关键字;而struct可以不使用new关键字,如果不以new来实例化struct,则其所有的字段将处于未分配状态,直到所有字段完成初始化,否则引用未赋值的字段会导致编译错误。
class可以实抽象类(abstract),可以声明抽象函数;而struct为抽象,也不能声明抽象函数。 class可以声明protected成员、virtual成员、sealed成员和override成员;而struct不可以,但是值得注意的是,struct可以重载System.Object的3个虚方法,Equals()、ToString()和 GetHashTable()。
class的对象复制分为浅拷贝和深拷贝(该主题我们在本系列以后的主题中将重点讲述,本文不作详述),必须经过特别的方法来完成复制;而struct创建的对象复制简单,可以直接以等号连接即可。
class实例由垃圾回收机制来保证内存的回收处理;而struct变量使用完后立即自动解除内存分配。
作为参数传递时,class变量是以按址方式传递;而struct变量是以按值方式传递的。
我们可以简单的理解,class是一个可以动的机器,有行为,有多态,有继承;而struct就是个零件箱,组合了不同结构的零件。其实,class和struct最本质的区别就在于class是引用类型,内存分配于托管堆;而struct是值类型,内存分配于线程的堆栈上。由此差异,导致了上述所有的不同点,所以只有深刻的理解内存分配的相关内容,才能更好的驾驭。本系列将再以后的内容中,将引用类型和值类型做以深入的比较和探讨,敬请关注。当然正如本文标题描述的一样,使用class基本可以替代struct的任何场合,class后来居上。虽然在某些方面struct有性能方面的优势,但是在面向对象编程里,基本是class横行的天下。
xuld
2011-01-03
打赏
举报
回复
对象
C#
自动化测试工具编写(借助API)
这里的自动化测试不是
指
单元测试,而是模拟人工输入来进行快速的、高并发的测试。可以使用的自动化工具有LOADRUNNER,以及目前在VS2010
中
的功能很强大的测试工作平台(录制操作步骤,自动生成代码)。但是,这些工具...
C#
中
方法签名
指
什么?
方法签名 一个方法由方法名、参数个数、参数
类
型、参数顺序、返回值这几个部分组成。方法签名由方法名称和一个参数列表(参数个数、
类
型与顺序)组成。方法在重载时,利用方法签名的不同,来区别调用者到底调用的是...
C#
高级程序设计
为什么要学习
C#
?
C#
是微软的**语言,拥有接近20年的历史和广泛的应用。目前国内对
C#
的书籍和视频相对较少,但
C#
和.NET的发展前程是十分光明的,这体现在微软公司本身强劲的实力,
C#
的开源,.NET Core社区的蓬勃发展...
C#
中
的封装是什么意思?
封装就是将数据或函数等集合在一个个单元
中
(也就是
类
),有时候会是一个dll库。被封装的对象通常被称为抽象数据
类
型。 封装的意义在于保护或防止代码(数据)被我们无意间破坏,比如建一些变量的转换,有时候就...
c#
中
方法签名
指
的是?
在
C#
中
,同一个
类
中
的两个或两个以上的方法可以有不同的名字,只要他们的参数声明不同即可。在这种情况下,该方法就被称为重载(overload),这个过程称为方法重载(method overloading)。方法重载
C#
110,545
社区成员
642,580
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章