zoukankan      html  css  js  c++  java
  • C#-类(九)

    类的定义
      类是描述具有相同特征与行为的事物的抽象,类内部包含类的特征和类的行为
      类支持继承
      类的定义是关键字class为标志

    类的格式
      访问标识符 class 类名
      {
        类主体
      }
      访问标识符:指定了类及其成员的访问规则。如果不指定则使用默认的标识符
      类的默认标识符为internal,而类成员的默认访问标识符为private
      类的主体:定义行为和数据,类的字段、属性、方法和事件统称为类成员


    类中函数和封装
      类的成员函数是一个在类定义中有它的定义或原型的函数。作为类的一个成员,它能在类的任何对象上操作,且能访问该对象的类的所有成员
      成员变量是对象的属性(从设计角度),且它们保持私有来实现封装
      这些变量只能使用公共成员函数来访问
      具体封装的过程参考上篇博文C#-方法(八)


    类中构造函数
      构造函数主要是用来创建对象时为对象赋初值来初始化对象。总与new运算符一起使用在创建对象的语句中
      构造函数具有和类一样的名称,但它是一个特殊的函数,同一个类里面可以有多个参数不同的构造函数,也就是函数的多态
      构造函数没有返回值,也不能用void修饰,只有访问修饰符
      每个类中都会一个构造函数,如果用户定义没有定义,编译器就会自动为该类型生成默认构造函数
      默认的构造函数没有任何参数
      构造函数目的是用于初始化类

    示例

     1 namespace 构造函数
     2 {
     3     class Animal
     4     {
     5         //构造函数
     6         public Animal(string name, string color, int speed)
     7         {
     8             this.name = name;
     9             this.color = color;
    10             this.speed = speed;
    11         }
    12 
    13         //名称
    14          private string name;
    15          public string Name
    16          {
    17             get { return name; }
    18             set { name = value; }
    19          }
    20          //颜色
    21          private string color;
    22          public string Color
    23          {
    24              get { return color; }
    25              set { color = value; }
    26         }
    27          
    28          //速度
    29          private int speed;
    30          public int Speed
    31          { 
    32               get { return speed; }
    33               set { speed = value; }
    34          }
    35 
    36         //主函数中创建类,获取构造函数中的属性
    37         static void Main(string[] args)
    38         {
    39             Animal Tiger = new Animal("BigTiger", "yellow", 20);
    40             Console.WriteLine("名字叫{0}身上的颜色是{1}行进速度为{2}", Tiger.Name, Tiger.Color, Tiger.Speed);
    41         }
    42     }   
    43 }

    结果

      

    类中析构函数
      析构函数用于释放被占用的系统资源
      析构函数的名字由符号“~”加类名组成
      析构函数只能被自动调用
      一个类只能有一个析构函数
      析构函数没有任何修饰符、没有任何参数、也不返回任何值
      析构函数不能继承或重载

     

    构造函数VS析构函数
      构造函数和析构函数是在类中说明的两种特殊的成员函数
      构造函数是在创建对象时,使用给定的值将对象初始化
      析构函数用于释放一个对象。在对象删除前,使用析构函数做一些清理工作,它与构造函数的功能正好相反

    示例

     1 using System;
     2 namespace AgeApplication
     3 {
     4     class Age
     5     {
     6         private int number;   // 线条的长度
     7         public Age()  // 构造函数
     8         {
     9             Console.WriteLine("年龄已创建");
    10         }
    11         ~Age() //析构函数
    12         {
    13             Console.WriteLine("年龄已删除");
    14         }
    15 
    16         public void setNumber(int Number)
    17         {
    18             number = Number;
    19         }
    20         public int getNumber()
    21         {
    22             return number;
    23         }
    24 
    25         static void Main(string[] args)
    26         {
    27             Age XiaoMing = new Age();
    28             // 设置年龄大小
    29             XiaoMing.setNumber(18);
    30             Console.WriteLine("小明的年龄是: {0}", XiaoMing.getNumber());
    31         }
    32     }
    33 }

    结果

     

    类的静态成员
      使用static关键字把类成员定义为静态的
      静态变量用于定义常量,因为它们的值可以通过直接调用类而不需要创建类的实例来获取
      当把一个成员函数声明为static。这样的函数就只能访问静态变量

    创建对象
      类定义对象的类型,但它不是对象本身
      对象是类的具体
      对象是基于类的具体实体,也称为类的实例
      通过使用new关键字,后跟对象将基于的类的名称,可以创建对象
      格式: 类名 对象名 = new 类名()
        例:有一个 public class Student{类主体}的类
        创建对象:Student XiaoMing = new Student();
        创建类的实例后,对象可以获得类的属性

  • 相关阅读:
    input输入框只能输入数字和 小数点后两位
    HAVING 子句
    GROUP BY 语句
    SUM()函数
    COUNT()函数
    MySQL AVG() 函数
    adb(16)-查看实时资源占用情况top
    adb(15)-刷机相关命令
    adb(14)-设备重启/检测root
    adb(13)-设置系统日期和时间
  • 原文地址:https://www.cnblogs.com/tynam/p/9615472.html
Copyright © 2011-2022 走看看