一、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. 12.1——类的定义与声明,隐含的this指针

    类的定义与声明: (1)将const放在成员函数的形参列表之后,可以将将成员函数声明为常量,而它的意思是函数不能改变所操作的数据成员 这里必须在声明和定义处都加上const. (2)成员函数有一个隐含 ...

  2. (转载)OC学习篇之---类的定义

    之前已经介绍了OC中的一个程序HelloWorld,今天我们继续学习OC中类的相关知识. OC和C的最大区别就是具有了面向对象的功能,那么说到面向对象,就不得不说类这个概念了,如果学过Java的话,那 ...

  3. OC学习篇之---类的定义

    OC中类的相关知识 OC和C的最大区别就是具有了面向对象的功能,那么说到面向对象,就不得不说类这个概念了,如果学过Java的话,那么对类和对象的概念就不陌生了,因为Java是非常纯正的面向对象设计语言 ...

  4. C++基础学习8:类的定义(class)

    先来说说C和C++中结构体的不同 a) C语言中的结构体不能为空,否则会报错(??) b) C语言中内存为空结构体分配大小为0,C++中为结构体和类分配大小为1byte c) C语言中的结构体只涉及到 ...

  5. 游戏基础元素之精灵——Cocos2d-x学习历程(九)

    1.创建精灵 在实际使用中,精灵是由一个纹理创建的.在不加任何设置的情况下,精灵就是一张显示在屏幕上的图片.通常精灵置于层下,因此我们首选在层的初始化方法中创建精灵,设置属性,并添加到层中. 有多种方 ...

  6. 2.1 C++类的定义和声明

    参考:http://www.weixueyuan.net/view/6333.html 总结: 类相当于一个新的数据类型,定义类对象时,除了能定义单个变量以外,用类定义一个数组或者指针都是可行的. 在 ...

  7. C++类的定义之作用域

    每个类都定义了自己的新作用域和唯一的类型.在类的定义体内声明内成员,将成员名引入类的作用域.两个不同的类具有两个不同的类作用域. 例如: Class First { int memi; double  ...

  8. Swift学习——类的定义,使用,继承,构造等(五)

    Swift学习--类的定义,使用.继承,构造等(五) 类的使用说明 1 使用class和类名来创建一个类名,比如: class student 2 类中属性的声明和常量和变量一样,唯一的差别就是他们的 ...

  9. 疯狂java学习笔记之面向对象(一) - 定义类、方法、构造器

    Java面向对象 1.定义类 2.创建对象.调用方法 类和对象: 某一类对象的概念定义. 比如:人类 - 抽象出来的概念(不特指某个人) 对象 - 在类的概念下产生的一个实例,它就是一个对象了. ja ...

随机推荐

  1. [转]Unix/Linux开源世界资源链接汇总

    转自:http://blog.csdn.net/21aspnet/article/details/6754126 最后更新:2012.12.04 说明:好东西在后面,Linux镜像基本涵盖全球主要下载 ...

  2. string integer == equals 转

    java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolean   他们之间的比较,应用双等号(== ...

  3. oracle中length、lengthb、substr、substrb用法小结

    我记得我曾经在开发form的时候犯过这样一个错误,对于form中的某个字段,对应于数据库中某张表的字段,假设在数据库中这个字段一般也就用到20个汉字的长度,后来我在开发form的时候,设置item类型 ...

  4. JqGrid 隐藏水平滚动条完美解决方案

    我有强迫症,网上找的几个看着就不舒服 不用更改样式表,隐藏最右侧的边框. .ui-jqgrid .ui-jqgrid-bdiv{ overflow-x: hidden; } 不用通过js控制加1px ...

  5. JavaScript 事件处理详解

    事件绑定与解绑: el.onEventName = function (){} document.getElementById("dom").onclick = function( ...

  6. php 中处理 websocket

    http://www.cnblogs.com/hustskyking/p/websocket-with-php.html 下面我画了一个图演示 client 和 server 之间建立 websock ...

  7. Django学习笔记之利用Form和Ajax实现注册功能

    一.注册相关的知识点 1.Form组件 我们一般写Form的时候都是把它写在views视图里面,那么他和我们的视图函数也不影响,我们可以吧它单另拿出来,在应用下面建一个forms.py的文件来存放 2 ...

  8. JS动态事件绑定问题

    今天搞一个连环套的动态选项展示,需要给下拉框动态绑定事件,谁知绑定中出现问题,总是执行第一次绑定的时间而后续绑定的事件没有被触发. //重写增加行方法 function initMainItem(gr ...

  9. ::before ::after CSS3中的伪类和伪元素

    ::before和::after伪元素的用法 一.介绍 css3为了区分伪类和伪元素,伪元素采用双冒号写法. 常见伪类——:hover,:link,:active,:target,:not(),:fo ...

  10. oppo R9 WLAN使用代理图解

    以上拼图便是oppo R9 WLAN使用代理图解,代理设为 '手动' ,主机名便是我的电脑的ip地址,端口号是9973: + 9973端口号 (微信web开发者工具不可更改): + 8888 端口号 ...