当前位置:   article > 正文

JAVA基础学习笔记(五)面向对象_标题 课前讨论:我们生活中哪些活动是面向过程的,哪些是面向对象的?

标题 课前讨论:我们生活中哪些活动是面向过程的,哪些是面向对象的?

面向对象编程思想概述

面向对象是一种编程思想(是一种更符合人思维方式的编程思想)

面向对象这种思想是在面向过程的基础上发展而来的。(那什么又是面向过程呢?)

面向过程编程思想概述

在我们学习Java面向对象内容之前的内容都属于面向过程的编程思想

也就是说,我们写一个程序,让这个程序去处理一件事情,处理这个事情的所有步骤我们都要去参与,所有的步骤我们都要亲力亲为,这个就叫做面向过程的编程思想

例如:我们用面向过程的思想写一个求两个数和的小程序

public class Test14{

    public static void main(String[] args) {

        int result = sum(10,20);

        System.out.println(result);

    }

    /*

     * 面向过程:所有的细节全部参与

     * */

    public static int sum(int a,int b) {

        int sum;

        sum=a+b;

        return sum;

    }

}

那用面向对象的方式应该如何实现上面的那个小程序/功能呢?

我们可以把我们的需求告诉一个对象,然后那个对象就把处理结果返回给我们,这个就是面向对象处理问题的思想。

例如:

public class Test14{

    public static void main(String[] args) {

        /*

         * 1、创建一个可以求和的对象

         * 2、指挥对象去求和

         * */  

        Math m = new Math();//创建对象

        int result = m.sum(10,20);//指挥对象调用方法进行求和

        System.out.println(result);

    }

   

}

/*

 * 这个类可能不是我们写的

 * */

class Math{

    public int sum(int a,int b) {

        int sum;

        sum=a+b;

        return sum;

    }

}

一、面向对象和面向过程在生活中的例子

洗衣服

面向对象:衣服交给洗衣机洗。(洗衣机就是对象)        

面向过程:手洗(处理所有细节。拿盆、加水、加洗衣粉、浸泡、搓洗。。。。。。。。)

面向对象思想特点

  • 是一种更符合我们思想习惯的思想
  • 可以将复杂的事情简单化
  • 将我们从执行者变成了指挥者(角色发生了改变

二、经典案例:把大象装进冰箱

面向过程实现

考虑需要哪些步骤:

  1. 打开冰箱门
  2. 把大象装进冰箱
  3. 关闭冰箱门

public class Test14{

    public static void main(String[] args) {

        /*

         * 面向过程实现把大象装进冰箱

         * 1、打开冰箱门

         * 2、把大象装进冰箱

         * 3、关闭冰箱门

         * */

//      System.out.println("打开冰箱门");

        open();

//      System.out.println("把大象装进冰箱");

        in();

//      System.out.println("关闭冰箱门");

        close();

    }

   

    public static void open() {

        System.out.println("打开冰箱门");

    }

    public static void in() {

        System.out.println("大象装进冰箱");

    }

    public static void close() {

        System.out.println("关闭冰箱门");

    }

   

}

面向对象实现

分析:

  1. 考虑把大象装进冰箱这个程序中有哪些对象
  2. 考虑每个对象应该有哪些方法
  3. 考虑对象之间的关系

有哪些对象?

  1. 场地(测试的main方法)
  2. 大象
  3. 冰箱

有哪些方法?

大象:移动方法

冰箱:开门方法     关门方法

三、面向对象的设计、开发、特征

面向对象开发

就是不断的创建对象,使用对象,指挥对象做事情。

面向对象设计

其实就是在管理和维护对象之间的关系。

面向对象特征

封装、继承、多态

四、对象的关系

编程语言和现实世界的关系

我们学习编程语言,就是为了模拟现实世界的事物,实现信息化。比如:去超市买东西的计费系统,去银行办业务的系统。

我们如何表示一个现实世界事物呢?

属性         就是该事物的描述信息

行为         就是该事物能够做什么

举例:学生、老师、茶杯、桌子。。。。。

在java中我们如何描述一个事物呢?

在java中我们用类来描述一个事物,所以Java程序的基本组成单位是类。

那什么是类呢?

  1. 类:是一组相关的属性和行为的集合(狭义的讲
  2. 对象:是该类事物的具体体现
  3. 举例:
    • 类          学生         (汽车的设计图纸)
    • 对象     班长就是一个对象(具体的汽车)

备注

类:可以理解为构造对象的一个蓝图或者模版,是抽象的概念。(广义的讲

对象:是以类为模型创建的具体实例,是对类的一种具体化。

 

五、类的定义

定义类其实就是定义类的成员(成员变量和成员方法)

成员变量 和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。

成员方法 和以前定义方法是一样的,只不过把static去掉。

现实世界事物的描述

         属性         人的身高,体重等

         行为         人可以学习,吃饭等

Java中用类(class)描述事物也是如此

         成员变量         就是事物的属性

         成员方法         就是事物的行为

案例:学生类和手机类的定义

学生类的定义

分析:学生事物有哪些属性和行为

学生:

         属性:姓名、年龄

         行为:吃饭、学习

手机类的定义

分析:手机事物有哪些属性和行为

学生:

         属性:品牌、价格

         行为:打电话、听音乐

对象的内存图

一个对象的内存图

public class ObjectMemeryDemo01 {

    public static void main(String[] args) {

        Student s1 = new Student();

        System.out.println("姓名:"+s1.name+"----"+"年龄:"+s1.age);

        s1.name="马保国";

        s1.age=50;

        System.out.println("姓名:"+s1.name+"----"+"年龄:"+s1.age);

    }

}

class Student{

    //成员变量

    public String name;

    public int age;

    //成员方法

    public void study() {

        System.out.println("学生要学习!!!!");

    }

}

 

六、两个对象的内存图

public class ObjectMemeryDemo2 {

    public static void main(String[] args) {

        Student s1 = new Student();

        Student s2 = new Student();

        System.out.println(

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
  

闽ICP备14008679号