为什么使用面处对象编程
为了让编程更加清晰,把程序中的功能进行模块化划分,每个模块提供特定的功能,而且每个模块都是孤立的,这种模块化编程提供了非常大的多样性,大大增加了重用代码的机会。
面向对象编程也叫做OOP编程。
简单来说面向对象编程就是结构化编程,对程序中的变量结构划分,让编程更清晰。
类是什么东西
类实际上是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法。
类定义了类的每个对象(称为实例)可以包含什么数据和功能。
类的定义
类中的数据和函数称为类的成员
- 数据成员
- 函数成员
数据成员:数据成员是包含类的数据–字段,常量和事件的成员。
函数成员:函数成员提供了操作类中数据的某些功能。(方法,属性,构造方法和终结器(析构方法),运算符,和索引器)
类的字段和方法
- 字段的声明
访问修饰符 类型 字段名称; - 方法的声明
访问修饰符 返回值类型 方法名称(参数)
{
//方法体
}
定义一个类来表示一个顾客
class Customer{
public string name;
public string address;
public int age;
public string buyTime;
public void Show(){
Console.WriteLine("名字:"+name);
Console.WriteLine("年龄:"+age);
Console.WriteLine("地址:"+address);
Console.WriteLine("购买时间:"+buyTime);
}
}
在这里我们定义了一个类,叫做Customer(顾客),里面包含了四个字段,存储了顾客的名字,年龄,地址和购买时间,包含了一个Show()方法,用来输出自身的一些信息的,在这里Customer就是一个新的数据类型。
类似于结构体的定义
struct Customer......;
如何利用类创建对象
使用我们自定义的类声明的变量也叫做对象,这个过程也叫做实例化。
ClassName myClass = new ClassName();
其中ClassName是我们定义的类的名字,myClass是我们声明的变量(对象)的名字,后面的new是一个关键字,使用new 加上类型名()表示对该对象进行构造,如果不进行构造的话,这个对象是无法使用的。
构造函数
我们构造对象的时候,对象的初始化过程是自动完成的,但是在初始化对象的过程中有的时候需要做一些额外的工作,例如需要初始化对象存储的数据,构造函数就是用于初始化数据的函数。
声明基本的构造函数的语法就是声明一个和所在类同名的方法,但是该方法没有返回类型。
public class MyClass{
public MyClass(){
这个构造函数的函数体
}
}
- 当我们使用new关键字创建类的时候,就会调用构造方法。
- 我们一般会使用构造方法进行初始化数据的一些操作。
- 构造函数可以进行重载,跟普通函数重载是一样的规则。
注意:
当我们不写任何构造函数的时候,编译器会提供给我们一个默认的无参的构造函数,但是如果我们定义了一个或者多个构造函数,编译器就不会再提供默认的构造函数。