面向对象编程:
面向对象是一个编程理念。现实生活中存在各种形态不同的事物,这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实中的事物使用对象的关系来描述事物之间的联系,这种思想就是面向对象。
1.认识类和对象
⑴概述:
①类(Class) 和 对象(Object) 是面向对象的核心概念。类是对一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因此也称为实(Instance)。
②类:是一组相关 属性 和 行为 的集合。可以看成一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。
③对象:是一类事物的具体体现。 对象是类的一个 实例,必然具备该类事物的属性和行为。
④类与对象的关系:类是对象的抽象,对象是类的实现。类是由属性和方法构成,它的每一个对象都有对应的属性和方法。
⑵使用类实例化对象
①创建的基本格式:
类名 对象名 =new 类名();
⑶访问对象中的成员变量
①使用的基本格式:
对象名.对象成员;
⑷对象的引用性质
①和数组名一样,对象名也是表示一种引用。
②对象名赋值并不是将对象中的内容进行赋值,只是将引用赋值。
2.认识成员函数
⑴成员函数
①最简单的成员函数的格式如下:
void 函数名称(){
函数内容;
}
★注意:在类的内部,普通的成员函数可以直接使用同一个类中的成员变量,不需要加对象名。
⑵加入参数的成员函数
①最简单的成员函数只能完成一些事情,在实际操作中可以给函数加入一些参数,让其根据参数来完成一些工作。
②加入参数的成员函数格式如下:
⑶带返回类型的成员函数
①有些函数完成工作之后可以得到一个结果,这就是带返回类型的函数。
②该函数格式如下:
★ 注意:
①“int abs(int a)"定义了函数abs,返回一个整数类型的值。
②”int result=c.abs(-10);"表示调用该函数,将返回值存入result变量。
③如果函数中途遇到return则跳过。
④没有返回类型的函数也可以使用return,表示跳出该函数,但是不能return一个具体的值。
⑤在有些文献中,成员函数也称为成员方法(Method)。成员函数和成员变量等统称为成员。
3.函数参数的传递
①简单数据类型采用值传递;
②引用数据类型采用值引用传递
4.函数重载
①函数重载是一个常见的功能。不能盲目地将函数名定义为一样,必须满足以下条件之一。
a.函数参数的个数不同 ;
b.函数参数的个数相同,类型不同;
c.函数参数的个数相同,类型相同,但是在参数列表中出现的顺序不同。
★注意:
①函数重载也称静态多态;
②多态是面向对象编程的特征之一。多态,通俗来讲就是一个东西在不同情况下呈现不同形态。
5.认识构造函数
①构造函数也是一种函数,但是定义时必须遵循以下原则:
a.函数名称与类的名称相同;
b.不含返回类型。
②使用方法:
类名 对象名=new 类名(传给构造函数的参数列表)
★注意:
①当一个类的对象被创建时,构造函数就会被自动调用,可以在这个函数中加人初始化工作的代码。在对象的生命周期中,构造函数只会被调用一次。
②构造函数可以被重载,也就是说在一个类中可以定义多个构造函数。在实例化对象时,系统根据参数的不同调用不同的构造函数。
③在一个类中如果没有定义构造函数,系统会自动为这个类产生一个默认的构造函数,该函数没有参数,也不做任何事情。因此,只有在没有定义构造函数时才可以通过“类名对象名=new类名();”实例化对象。
④如果用户自己定义了含有参数的构造函数,系统将不提供默认的构造函数。