C#封装1

构造方法:

1:构造方法的作用:为属性赋值
2:如没有显示构造方法,则有一个默认的无参构造方法
3:如有构造方法,则就没有默认的构造方法
4:只能用**“new 方法名()”这个来定义构造方法
注意:1 构造方法通常声明为
public**
2 构造方法没有返回值类型的
3 构造方法名字必须与类名相同

this关键字

1:封装:Ctrl+R+E

        private string name;
        /// <summary>
        /// 姓名
        /// </summary>
        public string Name { get => name; set => name = value; }

封装的最原始状态:

private int _height;
        public int Height {
            set { _height = value; }
            get { return _height; }
        }

封装的简约状态:

   private string name;
   public string Name { set; get; }
   public void Display()
   {
        Console.WriteLine("i am {0}", Name);
        //注意输出要是Name,注意注意注意!!!
  }

封装的高级

public string Name { set; get; }
//编译器自动在背后给他加上对应的字段  private string name;
public void Display()
{
     Console.WriteLine("i am {0}", Name);//注意输出要是Name
}

2:this关键字,代表的是当前对象,可调用属性,字段,方法

值类型和引用类型

1:C#中的数据类型:值类型(int,char,double,bool等)和引用类型(类string,数组,接口)
2:值类型:每个值类型变量存储对象的值是相对独立的,修改一个变量,其他变量的值不改变
引用类型变量:1:存储对象的内存地址,赋值不会创建值的副本,只会创建地址的副本
2:修改任何一个副本,也同时修改其他的副本

结构

1:值类型包括的int,char等都是为结构,结构和类相似,但是也有不同
2:结构(struct 名字)和类的相同和不同
相同:1:都包含属性,字段,和方法
2: 都一样声明实例化,并且访问属性,也可以不用实例化,在main方法外面加上**“static Dog dog”即可
不同:1:结构是值类型的,类是引用类型的
2:结构中不能实现属性或字段初始值设定项(即
不能设初始值**),但是类可以
3:结构中只能定义带参构造(并且带参构造的参数必须要全部赋值)不能定义无参构造;类中能够写无参构造方法,带参构造方法中参数可以不用赋值
总结:1:结构是值类型(类是引用类型的)
2: 结构中
可以定义字段属性和方法**
3:不能为结构中的字段赋初始值
4:结构中的构造方法中必须为所有字段赋值在这里插入代码片
5:不能为结构显示定义无参数的构造方法
6:结构类型的对象可以不实例化**

struct Dog
{
    string name;
    public string Name { get => name; set => name = value; }
    public void Sing()
    {
        Console.Write("汪汪");
    }
    public Dog (string name)
    {
        this.name = name;
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值