类和对象
一、面向对象编程
在面向对象编程中,对象是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位。对象由一组属性和一组行为构成,属性是用来描述对象静态特征的数据项,行为是用来描述对象动态特征的操作序列。一个对象的状态(也称为特征或属性)是由具有当前值的数据域来表示的;对象的行为是由方法定义的。
类是具有相同属性和服务的一组对象的集合。
属于类的任何对象都共享该类的所有属性。
面向对象程序设计的基本特点:
- 抽象:对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。对一个问题的抽象包括两个方面:数据抽象和行为抽象。
- 封装:将得到的数据和行为相结合,形成一个有机的整体,也就是将数据与操作数据的函数代码进行有机的结合,形成类,其中数据和函数都是类的成员。
- 继承:允许程序员在保持原有类特征的基础上,进行更加具体详细的说明。
- 多态:多态性指一段程序能够处理多种类型对象的能力,有强制多态、重载多态、类型参数化多态、包含多态。
二、类
定义类的语法形式:
[权限修饰符] class 类名
{
权限修饰符 数据类型 变量名; //成员变量
//成员方法
权限修饰符 返回值类型 方法名(参数类型 参数名)
{
}
}
权限修饰符主要包括 private、public 和 protected。如果一个类的成员变量或成员方法被修饰为 private ,则该成员变量只能在本类中被使用,在子类中是不可见得,并对其他包的类也是不可见的。如果将类的成员变量或成员方法的访问权限设置为 public,那么除了可以在本类使用这些数据之外,还可以在子类和其他包的类中使用。
如果一个类的访问权限设置为 private ,这个类将隐藏其内的所有数据,以免用户直接访问它。如果需要使类中的数据被被子类或其他包中的类使用,可以将这个类设置为 public 。如果用 protected 修饰符,那么只有本包内的该子类或其他类可以访问此类中的成员变量和成员方法。
当声明类时不使用 public、protected 和 private 修饰符设置类的权限,则这个类预设为包存取范围,即只有一个包中的类可以调用这个类的成员变量或成员方法。
类的权限设定会约束类成员的权限设定。
可以把两个类放在同一个文件中,但是文件中只能有一个类是公共( public) 类。此外,公共类必须与文件同名。
this 关键字
this 引用的就是本类的一个对象。在局部变量或方法参数覆盖了成员变量时,就需要添加 this 关键字明确引用的是类成员还是局部变量或方法参数。
this 除了可以调用成员变量或成员方法之外,还可以作为方法的返回值。
三、类的构造方法
构造方法是一种特殊的方法。它们有以下三个特殊性:
• 构造方法必须具备和所在类相同的名字。
• 构造方法没有返回值类型,甚至连void 也没有。
• 构造方法是在创建一个对象使用new 操作符时调用的。构造方法的作用是初始化对象。
构造方法具有和定义它的类完全相同的名字。和所有其他方法一样,构造方法也可以重载(也就是说,可以有多个同名的构造方法,但它们要有不同的签名),这样更易于用不同的初始数据值来构造对象。
构造方法是用来构造对象的。为了能够从一个类构造对象,使用new 操作符调用这个类的构造方法。
持续更新中···