面向对象
类:具有共有的(特征)属性和 (行为)方法的对象集合体。是抽象的,虚拟的
对象:看得见,摸得到 具体的 特指的
访问修饰符
public:公有的
Private: 访问修饰符是private,那么这个字段就是私有的,在类的内部才可以访问,外边不能访问,可以通过属性在外面进行访问
protected子类可以访问父类的字段了,其他非子类不可以访问
类的实例化
类 实例名=new 类();
Person per=new person(); 类似于随机数--Random a=new Random();
per._name="张三"; 类似于结构体--person per per._name="张三";
构造函数
public class person
{
public person(string name) 与上面的类名相同
{
this._name = name; //指示代词,当前的意思
}
private string _name;
public string Name
{
get { return _name; }
}
public void Show() 方法
{
Console.WriteLine("大家好,我是{0}",this.Name ); this.Name一般写属性里的
}
{
在外面调用:
static void Main(string[] args)
{
person per = new person("李英杰"); 利用构造函数给里面的值赋值
per.Show ();
Console.ReadKey();
}
构造函数的重载
写一个类,如果没有写任何的构造函数,那么这个类有个默认的无参数的构造函数
可以写多个构造函数,要记住有几个
字符串转变字符数组
首先把字符串变成字符数组,改变里面某一个值,最后把字符数组变成字符串
string text = "哈哈,曹轩变帅了!";
Console.WriteLine(text.Length); 显示字符串长度
char[] chs = text.ToCharArray(); 变成字符数组
chs[5] = '很'; 改值
text = new String(chs); 变成新的字符串
Console.WriteLine(text);
Console.ReadKey();
继承
Teacher类继承了Person类,person类里面的属性和方法teacher类都可以使用
Teacher这个类叫派生类(子类),Person这个类叫基类(父类)
子类中如果有有参数的构造函数,会默认的去调用父类中无参数的构造函数(如果父类中有有参数的构造函数了,又因为是类,无参数的构造函数会被干掉,所以在写一条无参数的构造函数)
如果想调用父类中有参数的构造函数,在子类有参数的构造函数后面加:base()括号里是父类构造函数中的参数