一、C#中类的声明

在C#中必须先声明类,然后才能在程序中使用。

类的声明格式如下:

[类的属性] [访问修饰符] class 类名称 [: 父类名]
{
    [成员修饰符] 类的成员变量或者成员函数
}

?类的属性:类的属性集。

?访问修饰符:说明类的特性。类的修饰符可以是以下几种之一或者是它们的组合:

?new:只允许在嵌套类声明时使用,表明类中隐藏了由基类中继承而来的并且与基类中同名的成员。

?public:公有类,允许对该类进行访问。

?protected:受保护类,只能从所在类和所在类派生的子类中进行访问。

?internal:内部类,在同一个项目里的所有代码都可以访问这个类。如果类没有添加访问修饰符,会被默认声明为“internal”。

?private:私有类,只有本类才能访问。

?abstract:抽象类,访问不受限制,但只能被继承,不能建立类的实例。

?sealed:密封类,不允许被继承,只能建立类的实例。

?class:声明类的关键字。

?类名称:自定义的类的名称。

?父类名:可以省略,表示被继承的类的名称。如果省略,则默认从object类继承而来。“父类名”也可以是接口,一个类可以继承多个接口,如果有多个接口时,请用逗号分隔开。
类与类之间只能单继承,但是类可以在继承一个父类的同时继承一个或多个接口。如果在类的声明中,既有父类又有接口类,则需要在冒号后面先放父类,然后再放接口名。

二、示例
 
namespace Test              // 声明命名空间
{
    class Program           // 声明类
    {
        public Program()    // 构造函数
        {
            .......
        }
        // 类成员和方法
    }
}

如果使用public关键字来声明类Program,则其他项目中的代码也可以访问这个类。在本例中没有使用访问修饰符,类会被默认声明为“internal”,表示只有在同一项目里的所有代码才可以访问这个类。

一个类的创建需要三部分:命名空间、声明类和构造函数。

?命名空间:主要是区别不同程序集中的类。在Microsoft Visual Studio中创建项目时,会自动创建命名空间。

?构造函数:定义类时必须创建的函数。如果不创建构造函数,创建的类也会有默认构造函数。

C#中类的声明的更多相关文章

  1. IOS-day02_OC中类的声明

    在上一个笔记中类的使用中,在编译链接的时候会有警告,原因就是我们没有对类进行声明 类的声明如下:使用关键字@interface #import <Foundation/Foundation.h& ...

  2. OC基础--OC中类的声明与定义

    OC中设计一个类的步骤: 一.声明类: 1.用到的关键字--@interface 和 @end 2.类名 3.继承NSObject 4.属性 5.方法(行为,只需要声明) 二.实现(定义)类 1.用到 ...

  3. php中类的声明与使用

    <?php /**php语言是支持面向对象编程的,对于面向对象的编程,学过java和C++的人都知道啊! *如果不清楚的去baidu问一下就可以了. */ //我们来定义一个类,定义类的关键字是 ...

  4. Python中类的声明,使用,属性,实例属性,计算属性及继承,重写

    Python中的类的定义以及使用: 类的定义: 定义类 在Python中,类的定义使用class关键字来实现 语法如下: class className: "类的注释" 类的实体 ...

  5. C#学习历程(九)[类的定义与声明]

    一.C#中类的声明 在C#中必须先声明类,然后才能在程序中使用. 类的声明格式如下: [类的属性] [访问修饰符] class 类名称 [: 父类名]{    [成员修饰符] 类的成员变量或者成员函数 ...

  6. 顺序表(SeqList)

    ---恢复内容开始--- 数据结构在上周结课,接下来就是为期几周的上机实验,说是实验课我感觉还不如不上.几乎每个人都是按着老师的要求把书上的代码打一遍,变都不变.一遍以后连自己打的什么都不知道. 与其 ...

  7. [Scala] 快学Scala A1L1

    基础 1.1 声明值和变量 在Scala中,鼓励使用val; 不需要给出值或变量的类型,这个信息可以从初始化表达式推断出来.在必要的时候,可以指定类型. 在Scala中,仅当同一行代码中存在多条语句时 ...

  8. 当C++多继承遇上类型转换[转]

      1 由来 客户用陈旧的VC++6.0进行项目开发,有一块功能需要我来实现.让一个早就习惯了VS2013的人去使用C++支持不太好的VC6去做开发实在是非常不爽,于是另辟蹊径,打算使用VC++201 ...

  9. 转:ffdshow 源代码分析

    ffdshow神奇的功能:视频播放时显示运动矢量和QP FFDShow可以称得上是全能的解码.编码器.最初FFDShow只是mpeg视频解码器,不过现在他能做到的远不止于此.它能够解码的视频格式已经远 ...

随机推荐

  1. PS使模糊图片变清晰

    操作步骤 \(文件\)

  2. 使用codesmith无法连接mysql问题

    最近研究codesmith的用法,遇到了如题的问题,记录一下解决的方法. 1.问题描述: 在codesmith中选择MySQLSchemaProvider并连接数据库时,会报以下错误: Test fa ...

  3. 性能测试工具LoadRunner15-LR之负载生成器(Load Generators)

    简介 对场景进行设计后,需要对负载生成器进行管理和配置.Load Generators是运行脚本的负载引擎(相当于加压机)主要功能是生成虚拟用户进行负载,在默认情况下使用本地的负载生成器来运行脚本. ...

  4. Python collections

    #count对象 Only 2.7 from collections import Counter #统计字母出现的次数 Counter('hello world') Counter(['red', ...

  5. 织梦dede模板中调用会员信息标签的方法

    织梦CMS v5.7调用文章所属会员信息标签 打开官方默认模板article_artcile.htm,我们可以提取出如下代码: {dede:memberinfos} 会员头像:<a href=& ...

  6. PHP substr()函数

    PHP substr()函数可以分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函数,mb_substr() /mb_strcut的用法 ...

  7. ASP.NET操作DataTable各种方法

    转:http://www.cnblogs.com/isking/p/6178268.html http://www.cnblogs.com/sntetwt/p/3496477.html public ...

  8. 给主程序签名及第三方dll强签名

    给主程序添加签名   添加完成后会自动生成一个*.pfx文件.     给程序添加强签名方法:   本文以Quartz.dll为例,使用vs Tools下的工具命令.   打开命令工具是这个样子,   ...

  9. Linux如何上查看和退出tomcat实时日志

    1.先切换到:cd usr/local/tomcat/logs 目录下 2.tail -f catalina.out Ctrl+c 是退出tail命令. alt+E+R重置.

  10. vueHistory 模式下,布置到服务器上路由刷新会报nginx404错误

    之前写完vue项目后,布置到服务器,用nginx反向代理后,一开始进去,进各种路由都是没问题的,但是一旦f5刷新后就会出现一个nginx404的错误. 经过翻阅vue文档后,发现这是vueHistor ...