引用刘铁猛老师(大神)内容:https://www.bilibili.com/video/BV13b411b7Ht?p=23
1.面向对象主要是指封装,继承,多态。
2.类
类是一种数据结构,他可以包含数据成员(常量和字段),函数成员(方法,属性,事件,索引器,运算符,实例构造函数,静态构造函数和析构函数)以及嵌套类型。
(1)类是一种抽象数据结构,是一种抽象的结果。比如一个学生,我们可以抽取这个学生的姓名学号,电话等封装在一起,形成一个学生类,这个类中有学生的成员。可以通过类来实现继承与多态。
(2)类是数据类型,是一种自定义的引用类性。
(3)在一定程度上代表了现实世界中的“种类”
2.如下面的代码:
(1)
Student student=new Student ();
“=”左侧是声明了一个student对象,右侧则是创建了实例。
namespace TestClass { class Program { static void Main(string[] args) { Student student = new Student() { Id=1,Name="张安"}; Console.WriteLine("Hello World!"); } } class Student { public int Id { get; set; } public String Name { get; set; } public void Report() { Console.WriteLine($"主键: {Id},Name:{Name}"); } } }
(2)实例构造器
再看上面的截图,在这里会默认调用类的无参构造函数,对于类中的数据成员,值类型会默认为0,引用类性则默认为null
有参数的实例构造器:
类在创建实例的时候就像一个模板一样,来帮助我们创建实例,用这个模板创建出来的对象可以调用类中的数据成员与函数成员。
创建出来对象之后调用类的构造器,我们可以按照自己的想法来进行一些改变,比如下面的代码,将id与name按照自己意愿设置值。需要注意的是这一步肯定是在初始化对象给对象赋值之前,
namespace TestClass { class Program { static void Main(string[] args) { Student student = new Student(1, "构造器"); Console.WriteLine(student.Id); Console.WriteLine(student.Name); Console.ReadKey(); } } class Student { /// <summary> /// 有参数的构造函数 /// </summary> /// <param name="id"></param> /// <param name="name"></param> public Student(int id,string name) { this.Id = id; this.Name = name; } public int Id { get; set; } public String Name { get; set; } public void Report() { Console.WriteLine($"主键: {Id},Name:{Name}"); } } }