继承:解决类中的代码冗余;
//Main函数
static void Main(string[] args)
{
Rep r = new Rep("张三");
r.Msg();
}
Console.ReadKey();
//父类
public class Person
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
public Person(string name)
{
this.Name = name;
}
}
//子类,继承父类里面的name属性
public class Rep : Person
{
public Rep(string name) : base(name) { }
public void Msg()
{
Console.WriteLine("大家好,我叫{0}。", this.Name);
}
}
构造函数里面的this:有几个参数,代表哪一个构造函数(调用当前这个类里面的构造函数);
base:调用父类里面的构造函数。
引用命名空间:using+类名;(调用命名空间项目里面的类)
值类型和引用类型:
引用类型:string,自定义类,数组(三个);
其他都是值类型:int,double,bool,char,enum,struct,decimal(小数类型);
存储:值类型的值是存储在内存的栈中;
栈:编译期间就分配好的内存空间;
引用类型的值是存储在内存的堆中;
堆:程序运行期间动态分配的内存空间;
区别:
1 . 值类型和引用类型在内存上存储的地方不一样;
2 . 在传递值类型和传递引用类型的时候,传递方式不一样;
值类型称之为值传递;引用类型称之为引用传递;
new的三个作用:
1.在内存上开辟空间;
2.在开辟的空间上创建对象;
3.调用对象的构造函数;
Equals:用于string类型;不区分大小写比较;
Trim():去前后空格