面向对象(初级)个人总结 第二部分 封装
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication3 { public class Class1 { public string name { get; set; } public Class1(string a) { this.name = a; //类 } } } using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { Class1 dx = new Class1("11"); Console.WriteLine(dx.name); //调用 } } }
面向对象 3 部分(封装)
构造方法:
public class dx()
{
public dx(string n,int a)
{
this.name=n;
this.age=a;
}
}
2.重载:
概念:同名不同参
例:
publ dx();
{
}
3.构造方法和普通方法在定义上有区别:
首先构造方法没有返回值,并且名字要与类名保持一致。连 void 都不能有返回
构造方法可以用来完成,成员属性的初始化工作。
每个类至少有一个构造方法,如果没有,系统会提供一个默认的无参构造.
只能在new 创建对象时调用 创建完对象无法调用
而普通方法,就是类的行为举止。表明该做什么事情..等等。
4.封装
4.1 private 字段私有化 public 公开的
4.分为字段和属性 /
字段:一个对象的信息
属性:设置字段的权限
/注意:字段小写、属性大写
4.2 为每个字段提供公开的属性
public class lei();
{
private string name;
public string NAME
{
get;
set;
}
}
lei dx=new lei();
dx.NAME="zhansan";
console.write(dx.NAME);
4.3 字段访问必须通过属性进行访问
get
{
return this.name; //返回一个name的值
}
访问过程:
对象调用属性访问字段之后,讲字段的值返回给对象
set
{
this.name=values;
}
class dx=new class();
dx.NAME="zhansan";
注意:属性本质上是方法 属性不能存数据 数据只能存在字段里
private 只能在类的内部访问 外部无法访问
set 是设置值 没有return返回值 get 有
如果针对一个字段而提供一个get属性而没有set属性 那么就是只读属性
一个类如果没有提供构造方法该类就不能创建对象
一个类的方法一般都是公开的
4.4 简化
可以讲访问块直接写成set 与 get;
自动属性:省略了属性相应的字段
必须同时提供get 和set
prop tab tab 快捷键
4.5 c# 类
public class 类名
{
private 类型 字段
public 类型 属性
{
get:
set;
//基本写法
}
//构造方法
public 类名(参数)使用参数初始化对象
public 返回值类型 方法名(方法参数)
{
}
}
重载和重写的区别
重载一个类搭着两个或者是两个以上的方法 重写是继承父类的东西以后再子类重新设置覆盖