在英语中类(class)是分类(classification)的根词。设计类的过程就是对信息进行分类,将相关信息放到有意义的实体中。

  封装的目的:

  封装就是定义类的重要原则。中心思想是:使用类的程序不应该关心类内部如何工作。程序值需要创建类的实例并调用类中的方法。类为了执行其存在的方法,可能要维护各种内部状态信息,还需要在类中各种活动,在使用类的程序面前,这些额外的状态信息和行动是隐藏的,所以有时候称之为信息隐藏。

  1、将方法和数据合并到类中,也就是为了支持分类。

  2、控制对方法和数据的访问,也是就为了控制类的作用。

   定义并使用类:

  c#中使用class关键字定义新类。类的数据和方法放在类的主体中。

  首先新建一个类。类中的代码如下

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//using System.Text.RegularExpressions; namespace tesetData
{
class Class1
{
//申请一个变量用来存储 圆半径
int radius=;
public double Area()
{
//Math类包含用于执行数学计算的方法,还定义了一些数学常亮Math.PI包含字段3.14159265358979 圆周率
//
// 摘要:
// 为三角函数、对数函数和其他通用数学函数提供常数和静态方法。
//若要浏览此类型的.NET Framework 源代码,请参阅 Reference Source。
return Math.PI * radius * radius; }
}
}

主函数部分:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace tesetData
{
class Program
{ static void Main(string[] args)
{
Class1 Test = new Class1();//实例化class1这个类
Console.WriteLine (Test.Area());
Console.ReadLine();
}
}
}

  提示:方法中声明的变量不会自动初始化,但是类中的字段是会自动初始化的。类的字段会自动初始化为1,false,null,具体的初始化是更具类型而定,原则上是手动的初始化变量。

  c#命名和可访问性

  公共标识符以大写字母开头,因为他是公共的,这是所谓Pascalcase命名方法,

  非公共标识符,包括局部变量以小写字母开头,因为他是私有的,就是camelCase命名法

  注意:不要声明名称只有大小写不同的两个公共成员,口则在不区分大小写的语言中就没有办法使用。

上面这个例子创建了一个class1这个类。在这个类中申请了一个int型数据并赋值为2,然后调用Math.PI这个圆周率的近似值,double型的数据。时间圆面积的计算。

  在上面这个例子有一个问题就是不能访问radius这个变量,从而不能再在类的外部修改这个变量的参数。解决方法使用构造器

   构造器:是在创建类的实例中自动运行的方法,他与类同名,能获取参数,但是不能返回任何值,每个类至少要有一个构造器,如果不提供构造函数,系统会自动创建一个控的构造函数。

即每一个类需要一个同名的构造函数。c#默认的构造器是么有参数的构造器,至于由编译器产生还是自己写都不重要,还可以写一系列非默认的构造器,有参数构造器。

  

上面这个例子是使用构造函数,来设置radius参数。当然也可以编写几个入口参数,这就是重载构造器。

 

分部类:

 类可以包含大量的方法、字段、构造器。一个功能齐全的类相当大。c#允许将类的源代码分到单独的文件中。这样,大型的定义就可以用较小的。更加容易管理的部分进行组织。

  类被拆分到多个文件中之后,要在每个文件中使用partial分部关键字定义类不同的分部。这里演示的是在一个文件中分部类,当然也可以是两个文件来写。

c# 类的知识的更多相关文章

  1. 【转载】UML类图知识整理

    原文:UML类图知识整理 UML类图 UML,进阶必备专业技能,看不懂UML就会看不懂那些优秀的资料. 这里简单整理 类之间的关系 泛化关系(generalization) 泛化(generalize ...

  2. 在VC6.0下运行C语言程序,以及编程入门必备的常识类小知识!

    今天给大家分享在VC6.0环境下编写C语言程序的基本步骤,为初学者打开学习C语言的第一道门.具体步骤如下(如果需要软件资源,可以留言): 1)新建工作区 依次点击 文件--新建--工作区 或是Ctrl ...

  3. 【C++】类-基础知识

    类-基础知识 目录 类-基础知识 1. 语法定义 2. 类的实现 3. 三个基本的函数 3.1 构造函数 功能 形式 调用时机 默认构造函数 3.2 复制构造函数 功能 形式 调用时机 3.3 析构函 ...

  4. String 类相关知识

    1.常用方法 1)判断字符串是否为空 public boolean isEmpty()2)获取字符串长度 public int length()3)截取子子串 public String substr ...

  5. Java _类 相关知识

    成员变量 java对象的属性就是成员变量,其实成员变量就是指普通的变量,可以设置初始值,也可以不设置.当不设置时,会被设置为默认值.(当成员变量前面有private关键词时,说明定义了一个私有成员) ...

  6. Python类基础知识(面向对象基础)

    #首先 我们需要了解 面向过程是什么 面向对象是什么 我们为什么需要使用面向对象 面向过程:根据业务逻辑从上到下写垒代码 面向对象:根据代码对函数进行分类和封装 区别:解决问题的逻辑不同,但是都能解决 ...

  7. C++ 学习笔记(五)类的知识小结一(重载,友元函数,静态成员,new)

    ---恢复内容开始--- 学习C++类知识点还是挺多的,每个知识点学习的时候都觉得这个知识点咋那么多东西,其实真学完了再回头看好像也就那么点.这次用程序写一个黑猫揍白猫的故事总结一下这段时间学习的零碎 ...

  8. php类相关知识----类常量,静态变量

    类常量 <?php class myuser { ;//定义的常量不带$符号,常量之前没有访问修饰符,常量之前没有修饰符号 public function monolog() { echo &q ...

  9. Java String类相关知识梳理(含字符串常量池(String Pool)知识)

    目录 1. String类是什么 1.1 定义 1.2 类结构 1.3 所在的包 2. String类的底层数据结构 3. 关于 intern() 方法(重点) 3.1 作用 3.2 字符串常量池(S ...

随机推荐

  1. es组合多个条件进行查询

    GET /test_index/_search{ "query": { "bool": { "must": { "match&qu ...

  2. 递归、嵌套for循环、map集合方式实现树形结构菜单列表查询

    有时候, 我们需要用到菜单列表,但是怎么样去实现一个菜单列表的编写呢,这是一重要的问题. 比如我们需要编写一个树形结构的菜单,那么我们可以使用JQuery的zTree插件:http://www.tre ...

  3. 【托业】【新东方全真模拟】01~02-----P5~6

    12.precisely precise precision preciseness 114. 116. favorable adj.赞同的; 称赞的; 有利的; 讨人喜欢的; favor n.好感; ...

  4. [MySQL优化2]不用SELECT * FROM table;

    假设有一张employees表,它有8列:员工人数,姓氏,名字,分机,电子邮件,办公室代码,报告,职位等.如果要仅查看员工的名字,姓氏和职位,请使用以下查询:SELECT lastname, firs ...

  5. phpmyadmin无法访问503错误的解决方法

    昨天ytkah更新了一些服务器软件,今天访问数据库居然出现503错误,主要提示如下.点开phpmyadmin设置,查看了一下端口,没有改动:重启了一下phpmyadmin也不能运行:再看了一下php版 ...

  6. 使用DigitalOcean控制台访问Droplet(远程服务器)

    介绍 大多数用户将使用SSH,PUTTY或安装的控制面板管理他们的DigitalOcean Droplet. 但是,可能会出现阻止您使用这些方法访问Droplet的情况. 例如,更改网络或服务配置文件 ...

  7. AlertWindowManager 弹出提示窗口使用帮助(上)

    LookAndFeel(界面外观): NativeStyle:本地化界面为真实用系统内置外观 SkinName:本地化界面(NativeStyle:)设置为假可使用皮肤外观 OptionAnimate ...

  8. 20165236 第六周Java学习总结

    20165236 第六周Java学习总结 一. 第八章内容: 1.String 类: String对象.常量对象:字符串并置: 常用方法: length,equals,startsWith,compa ...

  9. nginx配置url重写

    url重写是指通过配置conf文件,以让网站的url中达到某种状态时则定向/跳转到某个规则,比如常见的伪静态.301重定向.浏览器定向等 rewrite 语法 在配置文件的server块中写,如: s ...

  10. Spark SQL内置函数

    Spark SQL内置函数官网API:http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.sql.fun ...