面向对象思想概述

来源:互联网 发布:睡觉流口水 知乎 编辑:程序博客网 时间:2024/06/05 15:20

1.概念

面向对象是一种基于面向过程的编程思想;

面向过程: 强调的是每一个功能的步骤;

面向对象: 强调的是对象,由对象去调用功能;

2.思想特点

  • 是一种更符合我们思想习惯的思想;
  • 可以将复杂的事情简单化;
  • 我们由事情的行动者变成了执行者;

3.典型案例–把大象装进冰箱

(1).面向过程

都有哪些动作呢?

  • 打开冰箱门

  • 装进大象

  • 关闭冰箱门

代码体现

class Demo {    public static void main(String[] args) {        /*        System.out.println("打开冰箱门");        //打开冰箱门的东西,我现在仅仅是为了演示,就写了一个输出语句        //其实,它可能需要做很多操作。        //这个时候代码就比较多一些了        //假设我要多次打开冰箱门,        //代码一多,每次都写一遍,麻烦不        //我们就应该用方法改进        System.out.println("装进大象");        System.out.println("关闭冰箱门");        */        //写了方法以后,调用就改变了        open();        in();        close();    }    public static void open() {        System.out.println("打开冰箱门");    }    public static void in() {        System.out.println("装进大象");    }    public static void close() {        System.out.println("关闭冰箱门");    }}

(2).面向对象

我们怎么才能更符合面向对象思想呢?把大象装进冰箱的分析

  • 都有哪些类呢?

大象

冰箱

Demo

  • 每个类都有哪些东西呢?

大象—> 进去()

冰箱—> 开门(),关门()

Demo—> main()

  • 类和类之间的关系是什么?

Demo中使用冰箱和大象的功能

代码体现

class 大象 {    public static void in() {        System.out.println("装进大象");    }}class 冰箱 {    public static void open() {        System.out.println("打开冰箱门");    }    public static void close() {        System.out.println("关闭冰箱门");    }}class Demo {    public static void main(String[] args) {        冰箱调用开门        大象调用进去        冰箱调用关门    }}

4.类和对象

(1).现实中的事物

属性

事物的基本描述

行为

事物的功能

(2).Java语言中,最基本的单位是类.所以,我们要用类来体现事物.

我们学习编程语言,是为了模拟现实世界的事物的。
而我们学习的编程语言Java中最基本的单位是:类。
所以,我们就应该把事物通过类来体现出来:
由此,我们就得到了现实世界事物和类的对应关系(3)

(3).类

成员变量

事物属性

成员方法

事物行为

(4).类和对象的关系

类:是一组相关属性和行为的集合,是一个抽象的概念.

对象:是该类事物的具体实现,是一个具体的实例.

5.类的定义和使用

(1).类的定义

成员变量

定义格式和局部变量相同,就是位置不同,在类中方法外.

成员方法

定义格式和局部方法相同,就是去掉了static.

代码示例

//这是学生类class Student {    //定义变量    //姓名    String name;    //年龄    int age;    //地址    String address;    //定义方法    //学习的方法    public void study() {        System.out.println("学生爱学习");    }    //吃饭的方法    public void eat() {        System.out.println("学习饿了,要吃饭");    }    //睡觉的方法    public void sleep() {        System.out.println("学习累了,要睡觉");    }}

(2).使用类的内容

创建对象,格式

类名 对象名 = new 类名();

如何使用成员变量和成员方法

对象名.成员变量

对象名.方法名()

代码示例

//这是学生测试类class StudentDemo {    public static void main(String[] args) {        //类名 对象名 = new 类名();        Student s = new Student();        //输出成员变量值        //System.out.println(s.name);        //System.out.println(s.age);        //System.out.println(s.address);        //改进写法        System.out.println(s.name+"---"+s.age+"---"+s.address);        //给成员变量赋值        s.name = "林青霞";        s.age = 27;            s.address = "北京";        //赋值后的输出        System.out.println(s.name+"---"+s.age+"---"+s.address);        //调用方法        s.study();        s.eat();        s.sleep();    }}

6.创建对象内存图

(1).一个对象的内存图

这里写图片描述

(2).二个对象的内存图

这里写图片描述

(3).三个对象的内存图

这里写图片描述

7.Java程序的开发,设计和特征

(1).开发

就是不断的创建对象,通过对象调用功能

(2).设计

就是管理和维护对象间的关系

(3).特征

封装

继承

多态

0 0
原创粉丝点击