C#面象对象1

来源:互联网 发布:古风音乐制作软件 编辑:程序博客网 时间:2024/06/10 19:28
  
一、面向对象语言和结构化语言的区别:
面向对象,其实就是以现实为出发点,是站在现实世界的角度来考虑问题。实际中是怎样,我们就怎样处理。
而结构化的编程语言是以程序为出发点,是在程序的角度来考虑问题。
面向对象的语言在从分析阶段到实现阶段时是很自然而然的事情,而结构化就实现起来比较复杂,并且杂乱。
面向对象的特性:
       封装:其实就是为了包装,是在安全方面考虑。
       继承:它主要是为了实现多态。而且也让代码得到重用。
       多态:就是多种形态的意思,它是为了实现一个好的软件结构。
C#中类与JAVA的区别:
在类定义上两者都是一样的。都用到class关键字。
JAVA中的属性在C#中我们叫它数据(也可称之为字段)。而C#中的属性,则是一种方法,但和方法又有着不同,它里面包含get块和set块,用来对某一数据进行取值和设置。它的定义没有方法中的()符号。
C#中属性的定义如下:
public 返回类型 属性名称{
              get{ return 数据名称;       //返回数据的值。
}
              set {
                     数据名称=value; //value 代表将要设置给数据的值。
}
}
       在使用中我们可以用类的对象调用此属性。
       C#中的索引器
       C#中定义索引器,目的是为了简化对类中集合的访问。
       如假如我们定义了一个类,其中有个数据是数组类型的。如下:
class Person
     {
         privateint [] s;
//属性
         publicint[] S{
              get{
                   return s;
              }
              set{
                   this.s=value;
              }
         }
     }
如果我们用定义属性来实现取集合的某一个元素的值,就显的比软麻烦,所以.NET为我们定义了索引器。
索引器的定义如下:
     public 类型 this[int index]{
     get{
     return this.集合[index];
}
     set{
     this.集合[index]=value;
}
}
这样我们上例就可以改为:
     class Person
     {
         privateint [] s;
         //索引器
         publicint this[int index]{
              get{
                   return this.s[index];
              }
              set{
                   this.s[index]=value;
              }
         }
         //属性
         publicint[] S{
              get{
                   return this.s;
              }
              set{
                   this.s=value;
              }
         }
     }   
像这样我们就可以用如下的方法来取值和赋值:
class Class1
     {
         staticvoid Main(string[] args)
         {
              。。。。。
              person[0]=40;   //将40赋给person对象的s数据的第一个元素
              Console.WriteLine(person[0]);//将person对象的s数据的第一个元素输出。
              。。。。。。。
 
         }
     }
 
      
原创粉丝点击