美文网首页
03_C#学习_封装和类

03_C#学习_封装和类

作者: 乖薯宝 | 来源:发表于2019-03-06 16:29 被阅读0次

    --2019-03-06--

    软件与快捷键

    快捷键
    软件:visual studio 2017
    F1: 按键打开msdn学习;
    F5: 开始调试
    .cs: 后缀
    ctr+F5 : 开始运行
    ctr+k;ctr+c: 注释
    ctr+k;ctr+u:取消注释

    封装

    1. C#规则:所有关键字都是由小写字母组成的,C#语言中,大小写是严格区分的。

    2. 封装
      作用:隐藏对象信息,留出访问接口。
      属性封装字段: 快捷键(CTRL+R+E)
      包括get: 读访问器;和set: 写访问器。
      可以对访问器作条件限制。


    3. 实例化对象--创建类名为child的类: Child xiaoming = new Child()
      类有字段、属性和方法

    • 字段: private string _name;
    • 属性:通过封装将字段定义成属性
      public string Name { get => name; set => name = value; }
    • 方法:ublic void PlayBall();
    1. 访问修饰符类
    • public 公共的:类中定义字段和方法前加public,可以在其他类中被访问
    • private 私有的:只有.NET中应用程序或库才能访问,并且是默认选项
    • protected:只能从其所在类和所在类的子类进行访问
    • internal:只有在本类中才能访问
    1. 方法的重载
      同一个类中,多个方法的名字相同但参数(类型或数量)不同。
    //方法声明
    public void EatSugar(string Sugar)
    public void EatSugar(int count)
    public void EatSugar(string Sugar, int count)
    
    1. 类的构造方法
    • 作用:为属性赋值
    • 如果没有定义显示的构造方法,会一个默认无参数的构造方法;如果定义了有参构造方法,则覆盖默认构造方法
    • 只能用new 方法名()的形式调用构造方法,声明通常为public
    • 构造方法没有返回值类型,方法名必须与类名相同
    //调用构造方法,实例化对象
    Child xiaoming = new Child( "周星星"); 
    
    //有参数构造方法
    class Child(string name)
    {  
      Name = name;
      this.sex = sex; //this用在字段和形参重名
     //this 当前对象,可以调用当前类的字段和方法
    }
    
    • 对象初始化器
      其实是调用了类的无参数构造方法,要确保类中有无参数构造方法
    Child child2 = new Child {Name="周星星",Age=5};
    Console.WriteLine("我叫{0},今年{1}岁了",child2.Name,child2.Age);
    
    1. 值类型和引用类型
    值类型 引用类型
    int 类 (string)
    char 数组
    double 接口
    • 值类型:传值,创建副本,原变量不会被修改
    • 引用类型:传地址,地址所指对象被改变,原变量所指对象也会改变
    • ref:可以变成引用类型传参(定义和调用前都加ref,对象属性不能作为形参)
    • out:用来输出结构(定义和调用前加out)
    1. 结构(struct)
        struct Dog{
            string _name;
            public string Name { get => _name; set => _name = value; }
            public void Sing()
            {
                Console.WriteLine("wangwang");
            }
            public Dog(string name)
            {
                _name = name;
            }
        }
    

    和类的相同点:
    1)结构和类一样可以定义字段、属性和方法
    2)声明和实例化的代码相同,调用属性,方法的代码相同

    不同点:
    1)结构是值类型(类是引用类型)
    2)不能给结构中字段赋初始值
    3)结构中不能有自己定义的显示的无参数构造方法
    4)构造方法必须给所有的字段赋值
    5)结构可以不用实例化对象

    1. 枚举类型(enum)
    enum Gender
    {
        男,女
    }
    

    1)枚举是值类型
    2)枚举中不能定义字段属性和方法
    3)枚举值是从0递增的整数,赋值可以用(Gender)0


    相关文章

      网友评论

          本文标题:03_C#学习_封装和类

          本文链接:https://www.haomeiwen.com/subject/lwwtpqtx.html