复习C#(3)——类的基本概念

类的基本概念

  • 与C中结构的最大不同:类中包含处理数据的函数
  • 类修饰符:new, public, protected, inernal, private, abstract, sealed
类成员的存取控制
  • 公有函数:类和外部通讯的借口——外部函数通过调用公有函数,按照预先设定好的方法修改类的私有成员
类的对象
  • Person OnePerson=new Person();//Person OnePerson; OnePerson = new Person();
    • 建立Person类对象,返回对象地址赋值给Person类变量OnePerson
    • 对象地址不同于C中的指针:不能像指针那样可以进行加减运算,也不能转换为其它类型地址
类的构造函数
  • 当用new生成类的对象是,自动调用类的构造函数,初始化某些数据成员
  • 构造函数和类名相同,没有返回值
  • class Person
    {
    private string _name="";
    private int _id="";
    public Person(string Name; int Id)
    {
    _name = Name;
    _id = Id;
    }
    }

    Person OnePerson=new Person("Ada", 001);
类的析构函数
  • 变量和类的对象都有生命周期,生命周期结束,这些变量和对象就要被撤销。
  • 类的对象被撤销时,将自动调用析构函数,一些善后工作可在析构函数中完成
  • ~Person,无返回类型,无参数
  • C#中的类析构函数不能显示地被调用,它是被垃圾收集器撤销不被使用的对象是自动调用的。
类的构造函数的重载
  • 同一个类的函数,如果函数名相同,但参数类型或个数不同,认为是不同的函数——函数重载。
  • 仅返回值不同,不能看作不同的函数
  • 定义多个构造函数
  • 析构函数无参数-->析构函数不能重载
CLR
  • .NET系统CLR内建垃圾收集器,当对象的引用变量被撤销,表示该对象的生命周期结束,垃圾收集器负责收回不被使用的对象占用的存储空间。
值类型
  • 简单类型:也是结构类型,有构造函数、数据成员、方法、属性等
    • int i=int.MaxValue;
    • string s = i.ToString();
    • string s = 13.ToString(); //即使是一个常量,C#也会生成结构类型的实例,因此也可以使用结构类型的方法
    • 待补充:详表及注意
  • 结构类型(Struct types)
    • 声明构造函数、数据成员、方法、属性等
    • 与类区别:值vs引用;结构不能从另外一个结构或者类派生;结构不能被继承;不能定义抽象结构;结构成员不能被访问权限控制字protected修饰;结构不能用virtual, abstract修饰;在结构中不能定义析构函数。
    • 结构能够继承接口
    • 例子:
      using System;
      struct point //结构定义
      {
         public int x,y; //结构中也可以声明构造函数和方法,变量不能赋初值
      }
      class Test
      {
         static void Main()
         {
             point P1;
             P1.x = 166;
             P1.y = 111;
             point P2;
             P2=P1;
             point P3 = new point();//调用默认构造函数,使 x=y==0
         }
      }
  • 枚举类型
    • using System;
      class Class1
      {
         enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
         static void Main(string[] args)
         {
            Days day=Days.Tue;
            int x=(int)Days.Tue; //x=4
            Console.WriteLine("day={0}, x={1}", day, x);//显示:day=Tue, x=4
         }
      }

引用类型

  • 类:对象类,数组类,字符串类等
    • 对象类(Object类)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值