面向对象基础

一、

image.png

1.面向对象编程思想

面向过程编程

传统的C语言属于面向过程编程。面向过程解决问题的思路:通常是分析出解决问题所需要的步骤,然后用方法把这些步骤一步一步实现,最后一个一个依次调用方法来解决。
案例:ATM提款机终端系统(面向过程编程)
步骤1:输入密码,系统判断是否正确,如正确,进入取款界面,如错误,提示重新输入。
步骤2:进入取款界面,输入取款金额,系统判断余额是否足够,如不足,提示;如足够,点钞。
步骤3:吐出钞票,打印票据。
面向过程编程考虑的问题是程序运行的流程,主要是程序的算法,而数据只是在必要的时候插入到算法中间。

2、面向对象编程(OOP:Object-Oriented Programming )

–从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。面向对象解决问题的思路:通常是把构成问题域的事务分解成各个对象,给对象赋予相应的属性和行为,通过多个对象的相互协调来解决问题。建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。支持面向对象编程是Java语言的重要特点。

image

3、面向对象基本概念

–抽象(abstract):

•从事物中舍弃个别的非本质特征,抽取共同的本质特征

•只考虑与问题域相关的信息,而忽略与问题域不相关的部分

–对象(object):是系统中用来描述客观事物的一个实体。

•可以是有形的,也可以是无形的(如一个客户,一张银行卡,窗体中的一个按钮等等)

• 对象是构成世界的一个独立单位

•具有自己的静态结构(属性)和动态行为(方法)

• 每个对象有自己的唯一标识。

4、面向对象主要特征

–继承(inheritance):

也称泛化,继承性是子类自动共享父类属性和方法的机制,在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入自己若干新的内容

–多态(polymorphism):

•指同一个命名可具有不同的语义

•OO方法中,常指在一般类中定义的属性或方法被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为,对于子类,可用不同的方法替代实现父类的服务的方法。

二、类的定义

1、类的格式

image

修饰符一般为public,也可以没有修饰符。

注意类名的命名规范。类名一般大写

类的成员:成员变量(属性)、成员方法(方法).

嵌套类:通过“.”调用属性和方法。

2、什么是类?

把相似的对象划归成一个类。

在软件设计中,类,就是一个模板,它定义了通用于一个特定种类的所有对象的属性(变量)和行为(方法)。

3、类的成员:成员变量

image
               成员 方法
image

三、对象的创建与使用

1、创建对象

image

2、构造器(构造方法/构造器,Constructor)

具有与类相同的名称

不含返回值类型

不能在方法中用return语句返回一个值

一般访问权限为public

在一个类中,具有上述特征的方法就是构造器。

3、构造器的作用

完成对象的创建,即完成对象的实例化,一般使用构造器来完成对成员变量的初始化。

image

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、匿名对象

创建完对象,在调用该对象的方法时,也可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫匿名对象

你可能感兴趣的:(面向对象基础)