首页 > 代码库 > 面向对象的复习_封装
面向对象的复习_封装
封装
字段:存储数据,访问修饰符应该设置为private私有的
string _name;
属性:保护字段,对字段的取值和赋值进行限定
public string Name{ get { return _name; } set { _name = value; }}
构造函数:初始化对象,当创建对象的时候会调用构造函数
public Person(string name){ this.Name = name; }
new关键字:
Person p = new Person();
1.在堆中开辟空间
2.在开辟的空间中创建对象
3.调用对象的构造函数
this关键字:
1.代表当前类的对象
2.调用自己的构造函数
1 class Person 2 { 3 //字段 属性 构造函数 方法 接口 4 string _name;//字段 5 public string Name//属性 6 { 7 get { return _name; } 8 set//限定_name的值 9 {10 if (value != "张三")11 {12 value = http://www.mamicode.com/"张三";13 }14 _name = value;15 }16 }17 int _age;18 public int Age19 {20 get//限定_age的取值范围21 {22 if (_age < 0 || _age > 100)23 {24 return _age = 0;25 }26 return _age;27 }28 set { _age = value; }29 }30 char _gender;31 public char Gender32 {33 get { return _gender; }34 set { _gender = value; }35 }36 int _chinese;37 public int Chinese38 {39 get { return _chinese; }40 set { _chinese = value; }41 }42 int _math;43 public int Math44 {45 get { return _math; }46 set { _math = value; }47 }48 int _english;49 public int English50 {51 get { return _english; }52 set { _english = value; }53 }54 //构造函数55 public Person(string name, int age, char gender, int chinese, int math, int english)56 {57 this.Name = name;58 this.Age = age;59 if (gender != ‘男‘ && gender != ‘女‘)//对字段的取值进行限定60 {61 gender = ‘男‘;62 }63 this.Gender = gender;64 this.Chinese = chinese;65 this.Math = math;66 this.English = english;67 }68 69 //通过this调用自身的构造函数70 public Person(string name, int age, char gender)71 : this(name, age, gender, 0, 0, 0)72 {73 this.Name = name;74 this.Age = age;75 this.Gender = gender;76 }77 78 79 public void SayHello()80 {81 Console.WriteLine("{0}------{1}-----{2}", this.Name, this.Age, this.Gender);82 }83 }
面向对象的复习_封装
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。