一、 面向对象编程思想
1、面向过程编程
–传统的C语言属于面向过程编程。面向过程解决问题的思路:通常是分析出解决问题所需要的步骤,然后用方法把这些步骤一步一步实现,最后一个一个依次调用方法来解决。
•案例:ATM提款机终端系统(面向过程编程)
–步骤1:输入密码,系统判断是否正确,如正确,进入取款界面,如错误,提示重新输入。
–步骤2:进入取款界面,输入取款金额,系统判断余额是否足够,如不足,提示;如足够,点钞。
–步骤3:吐出钞票,打印票据。
•面向过程编程考虑的问题是程序运行的流程,主要是程序的算法,而数据只是在必要的时候插入到算法中间。
2、面向对象编程(OOP:Object-Oriented Programming )
–从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。面向对象解决问题的思路:通常是把构成问题域的事务分解成各个对象,给对象赋予相应的属性和行为,通过多个对象的相互协调来解决问题。建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。支持面向对象编程是Java语言的重要特点。
3、面向对象基本概念
–抽象(abstract):
•从事物中舍弃个别的非本质特征,抽取共同的本质特征
•只考虑与问题域相关的信息,而忽略与问题域不相关的部分
–对象(object):是系统中用来描述客观事物的一个实体。
•可以是有形的,也可以是无形的(如一个客户,一张银行卡,窗体中的一个按钮等等)
• 对象是构成世界的一个独立单位
•具有自己的静态结构(属性)和动态行为(方法)
• 每个对象有自己的唯一标识。
4、面向对象主要特征
–继承(inheritance):
也称泛化,继承性是子类自动共享父类属性和方法的机制,在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入自己若干新的内容
–多态(polymorphism):
•指同一个命名可具有不同的语义
•OO方法中,常指在一般类中定义的属性或方法被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为,对于子类,可用不同的方法替代实现父类的服务的方法。
二、类的定义
1、类的格式
修饰符一般为public,也可以没有修饰符。
注意类名的命名规范。类名一般大写
类的成员:成员变量(属性)、成员方法(方法).
嵌套类:通过“.”调用属性和方法。
2、什么是类?
把相似的对象划归成一个类。
在软件设计中,类,就是一个模板,它定义了通用于一个特定种类的所有对象的属性(变量)和行为(方法)。
3、类的成员:成员变量
成员 方法
三、对象的创建与使用
1、创建对象
2、构造器(构造方法/构造器,Constructor)
具有与类相同的名称
不含返回值类型
不能在方法中用return语句返回一个值
一般访问权限为public
在一个类中,具有上述特征的方法就是构造器。
3、构造器的作用
完成对象的创建,即完成对象的实例化,一般使用构造器来完成对成员变量的初始化。
4、练习
下列关于类的定义的选项中,哪些可以通过new Thing()方法来创建该类的一个对象____?
A. public class Thing { B. public class Thing {
public Thing() {}
} }
C. public class Thing { D. public class Thing {
public Thing(void) {} public Thing(String s) {}
} }
E. public class Thing {
public void Thing() {}
public Thing(String s) {}
}
5、匿名对象
创建完对象,在调用该对象的方法时,也可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫匿名对象
四、总结
面向对象的思想。
类的格式:类的定义、什么是类、类的属性。
对象的创建和使用:创建对象、构造器。