我们爱技术,更爱生活!

技术生活,生活技术。

导航

c#菜鸟教程 类(1)

今天我们来看看面向对象编程:(1)
(其实自己写这个标题的东西,真是心有余,力不足。)
 C#一种彻底的面向对象的语言,首先我们来看看什么叫对象。
 对象用来指带现实事物,但是今天我们介绍的类就是具有共同特性的一类事物的抽象描述。
 但是面向对象程序设计有四个基本原则:抽象,封装,继承,多态。
 接着我们来学习一下类的知识:
 类就是数据成员进行操作的方法的封装。类是一种复合的引用类型,它可以包括数据成员,函数,嵌套类型。数据成员可以包括常量和实例与静态变量字段。函数成员可以包括方法,属性,构造函数,析构函数,远算符,索引器和事件。嵌套类型是程序员在另一个类中定义的类型,它也被成为内部类和内部结构。
首先我们来看看怎么定义一个类:
using System;
class Test   //定义类名

 double width,height;   //类里的数据成员 变量。
 public Test(doule w,double h)  //Test类的构造函数
       {
         width=w;
         height=h;


       }
 public ~Test
       {
         Release();
       }
 
public double GetArea()   //类里的一个方法
       {
         return width*height;
       }


}
在类名之前可以加类修饰符,
类的修饰符号包括
1 abstract 不可以创建类的实例,可以做为别的类的基类。抽象类不能密封。
2 internal  该类只能从一个程序集和其他类中访问。这是非嵌套类型的默认访问方式,上边的例子默认就是internal类型的
3 new 只能用于嵌套的类,它指明类隐藏一个同名的被继承成员
4 private 嵌套类,只能在定义它的类里访问
5 protected 嵌套类,只能在定义它的类中和派生的类中访问
6 public 该类的实例可以给任何类访问
7 sealed 该类不能作为其他类的基类。不可以被继承。

刚刚上边的例子有个构造函数,现在我们来介绍一下什么叫构造函数 构造函数是一个特殊的方法,一般用来初始化类实例的数据成员。构造函数名要和类名总是相同的。构造函数没有返回值,类可以定义任何构造函数。运行时根据传递给构造函数的输入参数确定调用那个构造函数。有构造函数也就有析构函数。
析构函数是用来释放内存的函数。
析构函数就是构造函数前边加"~" 虽然在.net里边有内存回收机制。但是写析构函数是一个很好的习惯。

刚刚上边说到方法,我们来简单来说说方法吧
  方法:
    方法为类添加了行为特征,通过方法我们来执行我们需要的操作。
     方法可以参数或则没有,在参数可以是一个值类型,也可以是一个引用类型或则输出参数。值类型就是向方法里添加变量的值。
     但是引用类型是传递一个引用类型,在调用过程中改变了该引用的值。
我们来看看例子
using System;

public class Test
{
    public int Yinyong(ref int i)
     {
         i=i*i;

     }

Class Test1
{

    public static viod Main()
{
     int i=5;
     Text t=new text()
     Console.WriteLine(i.ToString());//显示没有调用Yingyong方法的时候,i的值
     t.Yinyong(ref i);
     Console.WriteLine(i.ToString());//调用后发现i=25

   }

}

}
接着我们来看看输出参数:
    我们来看看一个例子就明白了
    using System;
    public Class Test
    {
       public int shuchu(int i,out int j)
       {
         j=i*i;
       }

     }
    public Class Test1
{

    public static void Main()
     {
         int i,j;
          i=2;
         Test t=new Test();
         t.shuchu(i,out j);
         Console.WriteLine(j.ToString);

    }

 

 

}


 


 

posted on 2006-10-11 23:22  xtduwentao  阅读(557)  评论(0)    收藏  举报