• C#类的学习


    ①类的定义是以关键字 class 开始,后跟类的名称。类的主体,包含在一对花括号内。下面是类定义的一般形式:

     类的修饰符   class 类名 :继承的类
    {

       //类的成员

    }

    请注意:

    • 如果要访问类的成员,你要使用点(.)运算符。
    • 点运算符链接了对象的名称和成员的名称。

    ②关于类的封装(私有数据成员的意义):

       类的封装 代码的安全性 代码的繁琐性 代码的效率
    修改成员访问符 破坏了类的封装性 存在潜在的危险 简便 1
    公有成员函数 没有破坏 安全 繁琐而且调用不直接 3
    属性 没有破坏 安全 简便 2

    引申:(1)C#中的类相关定义基本上与C++中相同,除了添加了属性(C++中用公有成员函数代替)  

       (2)属性:

                定义格式:访问修饰符    属性类型  属性名

                        

                {   get{}
    
              set {}
    
            }

              

      示例:      

              class person 
    
          {
    
             private  string name;
    
             public  string Name
    
            {    get {return name;}
                 set {name=values;}
            }
          }

          属性的访问同字段的访问方法完全一样:若属性是静态成员,通过“类名.属性名”;如果属性是非静态成员,通过“对象名.属性名”来访问

          示例:person  p1=new person()  //实例化对象

               p1.name="王小明";//通过对象名.属性名 来进行相应的赋值(调用了set) 

             console.writeline("{0},你好!",p1.name);//调用了get 访问器

    ③类的构造函数

      (1)构造函数的名称与类的名称一样。

     (2) 一个类可以有多个构造函数。

     (3)如果在类中没有显式地定义一个构造函数,编译器也会自动的为相应的类生成一个默认的构造函数,并使用默认值初始化对象字段。例如int 类型的变量将初始化为0,string   类型的变量将初始化为NULL

     (4)构造函数不能声明返回类型,也不能使用void关键字

     (5)只定义了带参的构造函数,则在创建对象时必须制定相应的参数。如果此时采用不带参的构造函数创建对象,编译时会出现错误。

        

       class person
    
    {
    
          public  string name;
    
         int  age;
    
         protected   string sex;
    
         public person()
    
        {
    
        }
    
        public person( string xm,int n1)
    
        {
    
          name=xn;
    
          tage=n1;
    
        }
        public void showperson()
    
        {
    
          console.write("姓名 {0},年龄 {1}”,name.age);
    
        }
    }
    

      

       

  • 相关阅读:
    排序-计数-优化版
    排序-计数-基础版
    排序-归并
    Unity战斗模块之角色继承设计---1.1
    Unity中保存和读取数据的类---PlayerPrefs
    《计算机图形学》 第一章 基础知识--02向量(二维)
    《计算机图形学》 第一章 基础知识--01下载和安装DirectX,配置VS编辑器
    第四章 002-条件语句
    第四章 001-复合语句
    第三章 004-运算符
  • 原文地址:https://www.cnblogs.com/zykh/p/7674014.html
Copyright © 2020-2023  润新知