day5.1(以前半途而废的C#记录笔记)

1.  隐式类型转换

类型向类型转换

转换的类型必须兼容

2. 显式类型转换

   将高精度数值转换为低精度数值

   A.利用parse方法转换   int num = int.Parse(str)

   B.实用Covert类提供的方法进行强制转换 To转换的类型:ToString; ToDouble,没有ToFloat--à可以通过这个方法实现  float price = (float)Convert.ToDouble(strPrice)

     String str =52.1

     double dou = Convert.ToDouble(str)

3.面向对象设计的特点

  a.封装

  b.继承

  c.多态

4.类的定义

  类的声明包括:修饰符,类的名称,类的成员

  类有两种 访问修饰符---public(它所在的程序及任何引用该程序的程序都可访问) 和 internal (只有定义它的程序内部可以访问)    在没有定义访问修饰符是默认是 internal

 

 类 的成员 数据和方法

数据成员----包含类的数据字段常量

字段—--类中的变量

常量    在声明常量时前加一个const  如: public const double X=1.0;

方法成员 提供操作类中数据的某些功能。

声明方法  -------语法

    修饰符 返回值类型 方法名称(参数列表)

   {

   }

       修饰符: public 、 private 、 protected 、internal

       返回值类型:如果无返回值返回值类型指定为void

       名称

       方法参数列表至少一对空括号组成。如果有参数,它们被列在圆括号中间

       方法体:由一对大括号组成,大括号内为代码

5.成员访问修饰符

  1.公有成员

允许类的使用者从外部访问-----------public

  2.私有成员

仅限于类中的成员访问     -----private

  3.内部成员

   对于同一个程序是可以访问的。   ------internal

  4.保护成员 -------protected

   方便派生类的访问,对外界是隐藏的。 专用于继承中

6.C#中创建一个已经声明的类的实例,需要使用 new 关键字。

   MyClass myclass = new MyClass();

7.方法的参数

  1.)值参数-------------------当利用值方式传递参数时,编译程序给实参做一个副本,并将此副本传递给该方法的形参。被调用的方法不会改变内存中实参的值,所以在使用值参数时,可以保证值是安全的。

 2.)引用参数----------------它不开辟新的内存空间,而是向方法传递实参在内存中地址。在C#中,调用戴引用参数的方法可以在该方法内部改变调用方法的参数值。

    声明 public void Method(ref int x,ref int y

{

}

   在另一类中调用

        t.Method(ref a,ref b);//调用方法时,也要表明ref

3.)输出参数---------------------仅用于从方法传递回一个结果。完成这种数据传递方式的输出型参数,用关键字 out 表示

   Public void Cal(int x, out int y

   {

   }

  调用该方法时,同样也要标明

  t.Cal(35,out outNum);

 4.)数组型参数----------------形参中包含数组型参数,它必须位于参数表中的最后参数只允许是一维数组。 当参数前带params 关键字时,就是一个带数组型参数的方法。

   Public void Method(params int[] args)

{

}

这个调用的时候,就不用再在前加 params 了 。

8.变量作用域

  成员变量和局部变量

 

9.static关键字

  的成员:实例成员静态成员

  实例成员通过类的实例访问的成员静态成员不能通过类的实例访问而是通过类的名直接访问

  静态方法 :实例方法处理类的某个实例静态方法提供了所有实例共有的功能,不需要实例化一个类就可以直接用类访问,如Console.WriteLine() .

  静态类:   静态类中所有成员都是静态的。用于封装不受实例数据影响的数据和方法

             本身必须用static修饰;类的所有成员必须是静态的;不能继承静态类。

 

 

10.构造函数

   特殊函数,特殊成员函数与类同名,在创建对象时由系统自动调用,一般用来给数据成员分配资源并初始化

   默认构造函数:在类的声明中没有显式定义的话,编译器就会提供一个隐式的默认的不带任何参数的构造函数。

   带参数的构造函数一个类中可以定义数个构造函数

   静态构造函数:声明为static

11.析构函数

     与构造函数相反,用来释放被占用的系统资源

    每个类只能有一个

不能带参数

不能带访问修饰符

方法与类有相同名称,以”~”字符作前缀。只能对类的实例起作用,没有静态的析构方法;

不能在代码中显示地调用析构方法,在垃圾收集过程中调用,垃圾收集器分析代码,并确定在代码中没有任何途径引用该对象。

  注意:如果不需要,就不要执行析构方法,它们会带来性能上的开销;它只应释放对象自己的外部资源,不应访问其他对象,因为无法假定这些对象还没有被收集。

12.readonly关键字

        是可以在字段上使用的修饰符。字段声明用readonly修饰符时,该字段的赋值只能在声明时赋值或者在构造函数中赋值。

        Readonly可在声明或构造函数中初始化

        Readonly可能具有不同的值

        Const为编译时常量,readonly字段可用于运行时常量

        Const字段总是静态的,readonly字段可以是静态,也可以是非静态的

13.this关键字

      每个成员方法(包括构造函数)都有个this引用它总是引用此方法的对象(实例)。

      只能用在下述代码块中;

          实例化的构造函数

          实例方法

          属性和索引的实例访问

          用于区分类的成员和贝蒂变量或参

          作为调用方法的实参

     This尽在构造函数、类的方法和类的实例中使用,有以下含义:

         出现在类的构造函数中的this,表示正在构造的对象本身的引用

         出现在类的方法中的this,表示对调用该方法的对象的引用

14.值类型和引用类型-------C#中数据类型的分类

   

15.数组

  声明数组:如int[] name   string[] name;  int[] score   string[] name   double[] height

  分配空间: 数组名= new 数据类型[数组长度]  score = new int[30]

             数据类型  数组名 = new 数据类型[数组长度] int[] score = new int[30]

  赋值:    数组名[下标]=值

            如:score[0]= 89

                Score[1]=91

            数据类型[] 数组名 ={值1,值2,值3,….,值n}

            如:int[] score = {60,70,98,90,76}

            或  数据类型[] 数组名 = new 数据类型[]{值1,值2,值3,….,值n}

            如:int[] score = new int[]{60.70.63,76}

            不能:如:  int[] score;

                        Score={60,70,78,76};

  编程序时,数组和循环往往结合在一起使用,可以大大简化代码,提高效率

 

16.属性

   声明方法:

            指定字段的访问级别,后面是属性的类型,然后是属性的名称,再然后是声明get访问器set访问器的代码模块

            访问修饰符  数据类型  属性名

            {

               get{}

               set{}

            }

            如  public string Name

                {

                  get{ return _name;}  //get 访问器

                  set{_name=vale;}    //set 访问器

                }

17.枚举

   由System.Enum继承而来,并为基础元素类型的值提供代名词。

      由名称、基础类型和一组字段组成;

             基础类型必须是一个内置的符号整数类型

             字段是静态文本字段,其中的每一个字段都表示常数。

posted on 2012-02-24 16:11  ryuyan  阅读(133)  评论(0)    收藏  举报

导航