一.属性
1.属性的作用?
我们编写字段的时候,习惯把字段设置为私有的,这样的话外界就不能访问这个字段,所有我们可以通过属性,来让这个字段改成公开的,外界可以访问,并且同时给该字段赋值。
2.属性如何实现?
编写完字段以后,字段的访问修饰符是private,接着我们就可以设置该字段的属性,设置属性时,我们要知道,属性是有数据类型和属性名的。
通过:public 数据类型 属性名 { get { return 字段名;} set { 字段名 = value;} }
注意!访问属性的时候,通过调用get我们来得到这个字段的值,然后set是让我们用来对属性的值进行设置的。
代码演示:
private int age; //创建一个私有字段
public int Age //设置属性,可以在外界进行访问
{
get
{
return age;
}
set
{
age = value;
}
}
static void Main(string[] args)
{
Class1 c1= new Class1(); //实例化一个类
c1.Age = 10; //赋值
Console.WriteLine(c1.Age);
}
二.值类型与引用类型的储存方式
1.数据分为两种:值类型和引用类型
值类型:int double float char bool long.......
引用类型:String 数组 列表 Object 自定义的类........
2.值类型与引用类型的储存
值类型储存的是实际的数据,存放在栈中
引用类型需要两段内存,第一段用于存放实际的数据,存放在堆中,第二段是指向储存在堆内存 空间中的地址 , 地址相当于一个指针。
3.new的意思除了有实例化一个对象的意思外,还有一个就是开辟空间
4.栈与堆的区别?
栈的内存空间小,运行速率快,堆的内存空间大,运行速率慢
栈遵循先进后出,后进先出的原则,堆则是随意进出。
三.继承
1.什么叫做继承?
很多类中具有相似的数据,相同的方法,属性,这样我们就可以使用继承,让两个类或多个类去继承这个类。
2.继承的优点?
①为了使程序更清晰
②将程序的功能进行模块化划分
③每个模块完成特定的功能
④每个模块都是独立的
3.继承如何实现? 通过:( :);
代码演示:
internal class Student
{
public int id;
public string name;
public void Stu()
{
Console.WriteLine("这是基类");
}
}
internal class Student1:Student
{
public void Show()
{
Console.WriteLine("这是继承的派生类");
}
}
static void Main(string[] args)
{
Student s1= new Student();
s1.id = 1;
s1.name = "张三";
s1.Stu();
Student1 s2= new Student1();
s2.Show();
s2.Stu(); //在派生类的实例化里边,也可以直接调用父类的方法
}