Java 面向对象的浅谈

来源:互联网 发布:hp m1213nf扫描软件 编辑:程序博客网 时间:2024/04/24 14:05

1.万物皆对象

我们是怎么认识世界的?

人类从小就不断的接触到各种各类存在世界上的各种生物,然后通过事物的公共特性,将它们归类,所以以后就不会出现见到猫叫老虎。那么我们在现实生活中,是通过具体的某个事物归纳总结它们的公共特性然后产生类那么类就描述了该种事物的的共别。性,相当于造事物的图纸,我们可以根据这个图纸去做出具体的实体对象。

对象:在现实生活中存在具体的一个事物。

实际就是对某种类型事物的共性属性与行为的抽取。

人类认识世界: 对象----类。

java中:     类-----对象。                

使用计算机语言就是不断的在描述现实生活中的事物。

java中描述事物通过类的形式体现,类是具体事物的抽象,概念上的定义。

对象即是该类事物实实在在存在的个体。

类与对象的关系如图:


可以理解为:

类就是图纸

汽车就是堆内存中的对象

2.面向对象的概述

     “面向对象”(英语:Object Oriented,简称OO)是一种以事物为中心的编程思想。

面向对象程序设计(英语:Object-oriented programming,缩写:OOP),是一种程序开发的方法。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性

      面向对象时相对于面向过程而已的(c则是一个典型的面向过程的语言),站在面向对象的角度去看问题,你则是对象的动作的指挥者。如果站在面向过程的角度去看问题,你则是动作的执行者

3.面向过程的概述

      强调的是功能行为,面向过程是一种以过程为中心的编程思想。“面向过程”他们不支持丰富的“面向对象”特性(比如继承、多态),就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向过程在这一系列工作的执行中,强调的是工作的执行。

4.面向对象与面向过程的对比

    看几个例子:

     1:买电脑

           1:面向过程

                  1:查资料

                  2:电脑城砍价

                  3:被黑

                  4:痛苦归来

            2:面向对象

                  1:找对象。老师

                  2:老师.砍价

                  3:老师.检测电脑

                  4:电脑成功购买

      2:吃饭

           1:面向过程

                  1:自己动手做

                  2:买菜

                  3:洗菜

                  4:煮饭炒菜

                  5:很难吃,浪费时间

            2:面向对象

                  1:找专业对象

                  2:餐馆.点餐

                  3:餐馆,做饭

                  4:饭好吃,节约时间,精力

     3:找对象

            1:求介绍,相亲,找现成的对象。(面向对象的思想先找有的对象,直接拿来                 使用)

            2:不满意,没有对象,自己造一个。(sun没有提供,自己造对象)

        再例如:人开门,人开电视,人画园。

5.对象

       对象(object)代表现实世界中可以明确标识的一个实体。例如:一个学生、一张桌子、一间教室,一台电脑都可以看做是一个对象。每个对象都有自己独特的状态标识和行为

对象的属性(attribute,或者状态(state)),学生有姓名和学号,该学生特有的姓名和学号就是该学生(对象)的属性。

对象的行为(behavior),是由方法定义,调用对象的一个方法,其实就是给对象发消息,要求对象完成一个动作。可以定义学生对象具备学习的行为。学生对象可以调用学习的方法,执行学习的动作。

6.面向对象的特征

封装(encapsulation)

继承(inheritance)

多态(polymorphism)

开发的过程:其实就是不断的创建对象,使用对象,指挥对象做事情。

设计的过程:其实就是在管理和维护对象之间的关系.

7.使用java来描述事物的步骤:

案例:通过Java语言定义一个汽车类,并生产出汽车,有颜色,轮胎个数, 有运行的功能。

分析:

如何描述现实世界中的事物,描述该事物的属性和行为,汽车具有颜色和轮胎数的属性,具备运行的行为。

如何使用Java语言进行转换?

根据对应关系:

属性:类中的成员变量

行为:类中的成员函数

那么定义Java类就是定义一个类的成员。汽车类具备的成员是:颜色,轮胎数,运行方法。

Car类定义流程:

1. 使用class 关键字 定义类,

    1. class空格 类名。类名就是标识符,命名规则,单词的首字母大写,多个单词的首字母大写。注意:不是规定,但是最好遵守

    2. 类名后紧跟一对{}表示类的开始和结束。

2. 汽车有轮胎数 int num;

    1. 不需要给num初始化值,因为汽车轮胎数不确定,有4,有6,有8

3. 有颜色 String color

    1. 为什么使用String  例如定义颜色"红色"是字符串类型。

    2. 也不需要初始化值。

4. 跑的行为(方法、函数)     void run(){}

    1. 方法中执行输出语句。

代码如下:

public class Car {String color;// 成员变量int num; // 成员变量// 成员函数void run() {System.out.println(color + "的车,轮胎数:" + num + "个,跑起来了");}}
8.对象的创建

创建Car对象

1. 使用new关键词,就像new数组一样

2. 需要给型的汽车起一个名字,car

3. 变量都是有类型的,car属于什么类型,属于Car类型,叫做类类型

4. Car car=new Car();

图纸画好了,类定义成功了。如何根据图纸生产汽车,在Java中如何根据类来生产一个对象。

Java中生产汽车比较简单,通过一个关键字”new”, 通过new  Car();就在内存中产生了一个实体,汽车对象就生产出来了。

汽车对象生产出来后,还没有名字,为了方便使用,需要起一个名字。就用小写的C 来表示新车的名字。

Java中的变量都需要有类型。那么c是什么类型呢?cCar类型,所以c也叫做类类型变量。

class CarDemo {public static void main(String[] args) {// java 中创建对象,使用new关键字。在堆内存中开辟了空间。产生了一个实体。Car c = new Car();//为了方便使用生产的汽车,就起了一个名字。//那么c是什么类型,是Car类型。叫做类类型变量。//注意 c是持有的引用,新生产的汽车并没有直接赋值给c,持有的只是一个引用。c就想电视遥控器一样。c.run();  //使用对象的功能。}}

创建对象内存划分图:



9.对象成员的调用

有了car对象,调用对象成员

    1. 成员变量

    2. 成员方法

代码如下:

public class CarDemo {public static void main(String[] args) {Car c = new Car();//对象名.成员变量名将返回成员变量中存储的数值int num=c.num; System.out.println(num);//对象名.成员变量名,也可以给成员变量赋值c.num = 4;c.color = "black";//对象名.成员方法();c.run();}}

下篇讲一下成员变量与局部变量~
0 0