c# 类的知识

  在英语中类(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=2;
        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分部关键字定义类不同的分部。这里演示的是在一个文件中分部类,当然也可以是两个文件来写。

 

posted @ 2017-11-18 23:03  Dipsyhu  阅读(546)  评论(0编辑  收藏  举报