zoukankan      html  css  js  c++  java
  • 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);
    
        }
    }
    

      

       

  • 相关阅读:
    同时使用gitee和github
    vim的四种模式及模式切换
    Vim使用入门
    Vim, Vim Diff, Vim Easy, Vim Read-only 区别
    公钥与私钥
    Linux使用Aria2命令下载BT种子/磁力/直链文件
    Content-Type /AJAX /@ResponseBody
    IDEA 添加serialVersionUID 检查
    Servlet中的Context Path | Servlet Path | Path Info
    第K大的数
  • 原文地址:https://www.cnblogs.com/zykh/p/7674014.html
Copyright © 2011-2022 走看看