C#中的类
C#编程语言,从本质上讲是一组类型声明。所以,本人认为第一个要区分的点是:类型!=类。
当然,如果想要系统的学习C#还是应该先了解一下.Net框架,本文目的只是从相对宏观的角度讲清楚C#中的类。关于类的实现的具体细节网络上到处都有。本文适合初学C#的新手。
如果你学习过数据结构,就应该知道数据类型仅仅是对数据的定义。在C#中类型分为预定义类型和自定义类型,而类属于6种自定义类型中一个,所以可以称类为类类型,英文名为class。
其实,从以下几个方面描述类应该是比较清晰的:
本文中,我们不必管具体地类怎么定义,怎么继承,怎么调用,怎么回收。
我们需要了解类是什么,类的作用是什么,类怎么分类,类与类之间的关系是什么,类在整个程序集中的地位是什么
一,类是什么?
类是C#中一种预定义的类型,一种类型就会包含数据成员与函数成员,对于类,其数据成员是“字段与常量”,其函数成员是“方法,属性,索引,事件,构造函数,析构函数,运算符”。对于其中的任何一个成员,都可以讲解一个篇章,相信大部分C#参考书上都有,这里不做赘述。
二.类在整个程序集中的地位
每一个程序集都有命名空间namespace,如果还不太理解程序集的概念,可以先认为是某一个.cs文件就是一个程序集。在命名空间中是不可以直接定义预定义类型的,要从类或者其他自定义类型开始编程。为什么要有命名空间?因为它保证了不同程序集同时被调用的时候,即使有相同的命名存在,也可以兼容。
类如要被访问,或者访问程序集中其他类,则涉及到类的访问级别问题。类具有public与internal两个访问级别。public级别的类可以被外部程序集访问,internal级别的类只能被所在程序集引用,这也是默认的访问级别。
三.类怎么分类与类与类之间的关系
对于C#中的类,只有两种,要么是object类,要么是派生类。所有的派生类都继承自object类,不同的是有的派生类是直接继承object类,有的派生类是间接继承object类。这里不必知道到底怎么实现继承,但是应该知道的是类可以继承该类所在程序集中其他类,也可以继承其他程序集中的访问级别为public的类。
当然,也可以分为实例类和静态类,如果对C#有一些了解的话应该知道实例与静态的含义。
C#中的类的更多相关文章
- Python中的类、对象、继承
类 Python中,类的命名使用帕斯卡命名方式,即首字母大写. Python中定义类的方式如下: class 类名([父类名[,父类名[,...]]]): pass 省略父类名表示该类直接继承自obj ...
- 基础知识(05) -- Java中的类
Java中的类 1.类的概念 2.类中的封装 3.对象的三大特征 4.对象状态 5.类与类之间的关系 ------------------------------------------------- ...
- Objective-C中的类目,延展,协议
Objective-C中的类目(Category),延展(Extension),协议(Protocol)这些名词看起来挺牛的,瞬间感觉OC好高大上.在其他OOP语言中就没见过这些名词,刚看到这三个名词 ...
- CSS中伪类及伪元素用法详解
CSS中伪类及伪元素用法详解 伪类的分类及作用: 注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的 ...
- Android中View类OnClickListener和DialogInterface类OnClickListener冲突解决办法
Android中View类OnClickListener和DialogInterface类OnClickListener冲突解决办法 如下面所示,同时导入这两个,会提示其中一个与另一个产生冲突. 1i ...
- C#中timer类的用法
C#中timer类的用法 关于C#中timer类 在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类 ...
- JAVA中的类和接口
1.类: 类是具有相同属性和方法的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和方法两个主要部分.在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属 ...
- java中Color类的简单总结
java中Color类的简单总结 1.颜色的常识 任何颜色都是由三原色组成(RGB),JAVA中支持224为彩色,即红绿蓝分量取值 介于0-255之间(8位表示) 2.Color类中的常量 publi ...
- 《CoffeeScript应用开发》学习:第五章 CoffeeScript中的类
在CoffeeScript中定义类 在CoffeeScript中,使用class定义类,使用关键字new实例化对象. 给类绑定方法 class Airplane takeOff: -> cons ...
- 22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表。然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法showB输出大写的英文字母表。最后编写主类C,在主类的main方法 中测试类A与类B。
22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表.然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法sh ...
随机推荐
- Entity Framework的优势和缺点
优点:简单说就是Entity Framework省事,做业务系统,管理系统会减少很多代码,程序员可以更关注业务实现本身. 缺点:当处理大数据量和高并发时,由于Entity Framework是自动化程 ...
- selenium+python自动化79-文件下载(SendKeys)
前言 文件下载时候会弹出一个下载选项框,这个弹框是定位不到的,有些元素注定定位不到也没关系,就当没有鼠标,我们可以通过键盘的快捷键完成操作. SendKeys库是专业的处理键盘事件的,所以这里需要用S ...
- django-常用过滤器
django常用过滤器 add :字符串相加,数字相加,列表相加,如果失败,将会返回一个空字符串. default:提供一个默认值,在这个值被django认为是False的时候使用.比如:空字符串.N ...
- leetcode395
分治法. public class Solution { private int LongestSubstringSub(string s, int k, int start, int end) { ...
- LevelDB Filters
[LevelDB Filters] Because of the way leveldb data is organized on disk, a single Get() call may invo ...
- 【Python爬虫】听说你又闹书荒了?豆瓣读书9.0分书籍陪你过五一
说明 五一将至,又到了学习的季节.目前流行的各大书单主打的都是豆瓣8.0评分书籍,却很少有人来聊聊这9.0评分的书籍长什么样子.刚好最近学了学python爬虫,那就拿豆瓣读书来练练手. 爬虫 本来思路 ...
- Implement Trie (Prefix Tree)实现字典树
[抄题]: Implement a trie with insert, search, and startsWith methods. Note:You may assume that all inp ...
- Windows Python 2.7环境搭建
一.安装及修改环境变量 我安装的版本是python-2.7.15.amd64,因为2.7.9之后的版本都会安装好pip.将Python执行文件所在文件夹加入path路径,C:\Python27.将pi ...
- java高级工程师(三)
一.独白 之前也面试别人,现在轮到自己找工作,怎么说呢,每个面试官的看法不一样,面试的方式就不一样,比如我面试别人我喜欢问项目中他用到了那些,然后针对用到的技术去问一些问题,或者说对于某些场景的一些技 ...
- 使用mybatis开发Dao的原始方法,实现根据用户id查询一个用户信息 、根据用户名称模糊查询用户信息列表 、添加用户信息等功能
1.需求 将下边的功能实现Dao: 根据用户id查询一个用户信息 根据用户名称模糊查询用户信息列表 添加用户信息 2. 原始Dao开发方法需要程序员编写Dao接口和Dao实现类 3.User.xml映 ...