目录

面向过程思想概述

面向对象思想概述

举例

1:面向对象思想

2:面向对象的思想特点

3:把大象装进冰箱

4:开发,设计,特征

类与对象关系

类的定义

成员变量和局部变量的区别

类和对象的内存关系

总结


面向过程思想概述

l我们来回想一下,这几天我们完成一个需求的步骤:首先是搞清楚我们要做什么,然后在分析怎么做,最后我们再代码体现。一步一步去实现,而具体的每一步都需要我们去实现和操作。这些步骤相互调用和协作,完成我们的需求。

l在上面的每一个具体步骤中我们都是参与者,并且需要面对具体的每一个步骤和过程,这就是面向过程最直接的体现。

l那么什么是面向过程开发呢? 面向过程开发,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。

l面向过程的代表语言:C语言

面向对象思想概述

l当需求 单一,或者简单时,我们一步一步去操作没问题,并且效率也挺高。可随着需求的更改,功能的增多,发现需要面对每一个步骤很麻烦了,这时就开始思索,能不能把这些步骤和功能在进行封装,封装时根据不同的功能,进行不同的封装,功能类似的封装在一起。这样结构就清晰了很多。用的时候,找到对应的类就可以了。这就是面向对象的思想。接下来我们看看面向对象到底是什么?

l面向对象思想概述

•面向对象是基于面向过程的编程思想

l面向对象思想特点

•是一种更符合我们思想习惯的思想

•可以将复杂的事情简单化

•将我们从执行者变成了指挥者

•角色发生了转换

举例

1:面向对象思想

面向对象是基于面向过程的编程思想。
    
    面向过程:强调的是每一个功能的步骤
    面向对象:强调的是对象,然后由对象去调用功能

2:面向对象的思想特点

A:是一种更符合我们思想习惯的思想
    B:可以将复杂的事情简单化
    C:将我们从执行者变成了指挥者
        
    举例:
        买电脑:
            面向过程:我的了解电脑--了解我自己的需求--找对应的参数信息--去中关村买电脑--讨价还价--买回电脑
            面向对象:我知道我要买电脑 -- 班长去给我买 -- 班长就买回来了
        洗衣服:
            面向过程:把衣服脱下--找一个盆--放点洗衣粉--加点水--把衣服扔进去--搓一搓--清洗衣服--拧干--晾起来
            面向对象:把衣服脱下--打开全自动洗衣机--扔进去--一键即可--晾起来
        吃饭:
            面向过程:去超市买菜--摘菜--洗菜--切菜--炒菜--盛起来--吃
            面向对象:上饭店吃饭,你--服务员(点菜)--厨师(做菜)--服务员(端菜)--吃
            
            家常事物,买洗衣机和去饭店太不划算了,所以,找个对象。
            但是,你不跟我好好学习,你将来4000,你对象8000。

3:把大象装进冰箱

面向过程:
        动作有哪些呢?
            A:打开冰箱门
            B:装进大象
            C:关闭冰箱门
            
        代码体现;

          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("关闭冰箱门");}}

面向对象:
        我们怎么才能更符合面向对象思想呢?
            A:有哪些类呢?
            B:每个类有哪些东西呢?
            C:类与类直接的关系是什么呢?
            
        把大象装进冰箱的分析? (如何分析有哪些类呢?UML。名词提取法。)
            A:有哪些类呢?
                大象
                冰箱
                Demo
            B:每个类有哪些东西呢?
                大象:
                    进去
                冰箱:
                    开门
                    关门
                Demo:
                    main方法
            C:类与类直接的关系是什么呢?
                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:开发,设计,特征

面向对象开发
    就是不断的创建对象,使用对象,指挥对象做事情。
    
面向对象设计
    其实就是在管理和维护对象之间的关系。

面向对象特征
    封装(encapsulation)
    继承(inheritance)
    多态(polymorphism)

类与对象关系

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

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

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

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

•举例:学生事物

l我们学习的Java语言最基本单位是类,所以,我们就应该把事物用一个类来体现。

l类:是一组相关的属性和行为的集合

l对象:是该类事物的具体体现

l举例:

•类  学生

•对象  班长就是一个对象

类的定义

l现实世界的事物

•属性  人的身高,体重等

•行为  人可以学习,吃饭等

lJava中用class描述事物也是如此

•成员变量  就是事物的属性

•成员方法  就是事物的行为

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

现实世界中是如何描述一个事物的呢?
    举例:学生
            姓名,年龄,性别...
            学习,吃饭,睡觉
            
    属性:该事物的描述信息
    行为:该事物能够做什么
    
我们学习编程语言,是为了模拟现实世界的事物的。
而我们学习的编程语言Java中最基本的单位是:类。
所以,我们就应该把事物通过类来体现出来:
由此,我们就得到了现实世界事物和类的对应关系:

事物:                        类:    
    属性                        成员变量
    行为                        成员方法
    
    
类:是一组相关的属性和行为的集合。是一个抽象的概念。
对象:是该类事物的具体表现形式。具体存在的个体。

举例:
    学生:类
    班长:对象

/*手机类的测试
*/
class Phone {//品牌String brand;//价格int price;//颜色String color;//打电话的方法public void call(String name) {System.out.println("给"+name+"打电话");}//发短信的方法public void sendMessage() {System.out.println("群发短信");}//玩游戏的方法public void playGame() {System.out.println("玩游戏");}
}class PhoneDemo {public static void main(String[] args) {//创建手机对象//类名 对象名 = new 类名();Phone p = new Phone();//直接输出成员变量值System.out.println(p.brand+"---"+p.price+"---"+p.color);//给成员变量赋值p.brand = "诺基亚";p.price = 100;p.color = "灰色";//再次输出System.out.println(p.brand+"---"+p.price+"---"+p.color);//调用方法p.call("林青霞");p.sendMessage();p.playGame();}
}
/*在一个java文件中写两个类:一个基本的类,一个测试类。注意:文件名称和测试类名称一致。如何使用呢?创建对象使用。如何创建对象呢?格式:类名 对象名 = new 类名();如何使用成员变量呢?对象名.变量名如何使用成员方法呢?对象名.方法名(...)
*/
//这是学生类
class Student {//姓名String name; //null//年龄int age; //0//地址String address; //null//学习public void study() {System.out.println("学生爱学习");}//吃饭public void eat() {System.out.println("学习饿了,要吃饭");}//睡觉public void sleep() {System.out.println("学习累了,要睡觉");}
}//这是学生测试类
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();}
}

成员变量和局部变量的区别

l在类中的位置不同

•成员变量 类中方法外

•局部变量 方法内或者方法声明上

l在内存中的位置不同

•成员变量 堆内存

•局部变量 栈内存

l生命周期不同

•成员变量 随着对象的存在而存在,随着对象的消失而消失

•局部变量 随着方法的调用而存在,随着方法的调用完毕而消失

l初始化值不同

•成员变量 有默认的初始化值

•局部变量 没有默认的初始化值,必须先定义,赋值,才能使用。

类和对象的内存关系

总结

1:二维数组(理解)
    (1)元素是一维数组的数组。
    (2)格式:
        A:数据类型[][] 数组名 = new 数据类型[m][n];
        B:数据类型[][] 数组名 = new 数据类型[m][];
        C:数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}};
        D:数据类型[][] 数组名 = {{...},{...},{...}};
    (3)案例(掌握):
        A:二维数组的遍历
        B:二维数组的求和
        C:杨辉三角形

2:两个思考题(理解)
    (1)Java中的参数传递问题
        Java中只有值传递。
        
        基本类型:形式参数的改变不影响实际参数
        引用类型:形式参数的改变直接影响实际参数
    (2)数据加密问题
        综合的小案例。
    
3:面向对象(掌握)
    (1)面向对象
        面向对象是基于面向过程的编程思想
    (2)面向对象的思想特点
        A:是一种更符合我们思考习惯的思想
        B:把复杂的事情简单化
        C:让我们从执行者变成了指挥者
        
        举例:
            买电脑
            洗衣服
            做饭
            ...
            万事万物皆对象
    (3)把大象装进冰箱(理解)
        A:面向过程实现
        B:面向对象实现
        
        注意:如何让我们的操作更符合面向对象思想呢?
        A:有哪些类
        B:每个类有哪些成员
        C:类与类的关系
    (4)类与对象
        A:现实世界的事物
            属性    事物的基本描述
            行为    事物的功能
        B:Java语言中最基本的单位是类。所以,我们要用类来体现事物
        C:类
            成员变量    事物属性
            成员方法    事物行为
        D:类:是一组相关的属性和行为的集合。是一个抽象的概念。
          对象:是该类事物的具体存在,是一个具体的实例。(对象)
          
          举例:
            学生:类
            班长:对象
    (5)类的定义及使用
        A:类的定义
            成员变量    定义格式和以前一样,就是位置不同,在类中,方法外。
            成员方法    定义格式和以前一样,就是去掉了static。
        B:使用类的内容
            a:创建对象? 格式
                类名 对象名 =  new 类名();
            b:如何使用成员变量和成员方法呢
                对象名.成员变量
                对象名.成员方法()
    (6)案例:
        A:学生类的定义和使用
        B:手机类的定义和使用
    (7)内存图
        A:一个对象的内存图
        B:二个对象的内存图
        C:三个对象的内存图
    (8)Java程序的开发,设计和特征
        A:开发:就是不断的创建对象,通过对象调用功能
        B:设计:就是管理和维护对象间的关系
        C:特征
            a:封装
            b:继承
            c:多态

Java面向对象思想相关推荐

  1. java面向对象思想编写原谅帽小游戏 原谅帽游戏思路解析

    java面向对象思想编写原谅帽小游戏 原谅帽游戏思路解析: 面向对象思想 作品展示 类(游戏端)继承Frame: 首先要创建一个方法去让游戏开始和结束 使用text执行这个游戏的方法(需要有游戏标题和 ...

  2. java有无参数求长方形的周长面积_用java面向对象思想编程求长方形的周长和面积...

    //面向的重要体现就是接口的使用 //甲 interface zfx { double mianji(); double zhchang(); } //乙 class zfxing implement ...

  3. Java面向对象思想精华(二)

    Java面向对象核心思想 一.对象创建的内存模型 (一).栈.堆.方法区存储的内容 二.子类与继承 1.作用 2.通过 extends 关键字来实现继承. 3.子类和父类的结构 4.继承的注意事项 5 ...

  4. Java面向对象思想、类的定义、对象的使用、对象内存图、成员变量和局部变量的区别、封装、private关键字、this关键字、构造方法、JavaBean-day06

    目录 第1节 面向对象思想 1.1 面向对象思想概述 概述 举例 特点 1.2 类和对象 什么是对象 类与对象的关系 1.3 类的定义 事物与类的对比 类的定义格式 1.4 对象的使用 对象的使用格式 ...

  5. Java面向对象思想以及原理以及内存图解

    文章目录 什么是面向对象 面向对象和面向过程区别 创建一个对象用什么运算符? 面向对象实现伪代码 面向对象三大特征 类和对象的关系. 基础案例 代码实现 实例化 创建car对象时car引用的内存图 对 ...

  6. java面向对象思想如何理解

     Java 的核心是面向对象编程 . 所有的 java 程序都是面向对象的. 以前总听老师说 c 语言是面向过程的, c++ 和 java 是面向对象的,这些糊涂老师却从来不说明何为面向过程,何为 ...

  7. 谈谈java面向对象思想_对于Java面向对象思想的理解

    在Java中,除了8种基本数据类型.其他皆为对象! 面向对象主要有 三个基本特征:封装,继承,多态. 封装 主要概念是指:隐藏对象的属性和实现细节,仅对外暴露公共的访问方式.封装是面向对象最基本的特征 ...

  8. 后端程序设计课设,基于Java面向对象思想,MySQL数据库,Tomcat服务器实现网上商城网站。前后端分离开发思想,实现前后端信息交互。

    文章目录 项目展示 开发环境 使用关键技术 项目实现的主要功能 项目完成效果 项目技术核心介绍 MVC开发模式 Ajax实现前后端通信 MySQL数据库连接(使用连接池) 自动生成验证码程序 项目源代 ...

  9. Java面向对象思想OOP理解 东海陈光剑 剑魔书仙读书录

    /****/ package iSword;import java.util.Scanner;/*** @author root**///*****************************主类 ...

  10. java基础(一)-面向对象思想

    前言 java是一门面向对象的语言,在学习java前,先要理解面向对象这个概念,区别于c这类的面向过程语言,面向对象有着什么一样的特点呢?先上一张思维导图吧: 对象 什么是对象 问题空间中的元素及其在 ...

最新文章

  1. Go 学习笔记(26)— Go 习惯用法(多值赋值,短变量声明和赋值,简写模式、多值返回函数、comma,ok 表达式、传值规则)
  2. python难度如何_入门Python学习难吗怎样规划学习路线
  3. eclipse中提交git总是要求输入用户名、密码
  4. Redis模式匹配删除key
  5. 学习 wxpython_序
  6. qt设置行编辑器不可编辑
  7. json转换成dart类 JSON to Dart
  8. 修改MYSQL数据库表的字符集
  9. 大数据处理分为哪些步骤
  10. 文件系统读写Linux文件系统损坏的修复技术Strut2教程-java教程
  11. CentOS 8使用 Kickstart配置 UEFI PXE 启动
  12. secureCRT 7.3.6 winxp版本
  13. [NLP]OpenNLP词性标注器的使用
  14. 网络爬虫pandas
  15. 计算机网络线接法,电脑网线插座接法图文详解
  16. Keyshot渲染-关于导入提示:未检索到几何图形的解决方法。
  17. 计算机模拟量与数字量的转换,PLC开关量与模拟量编程数值转换原理
  18. MSCI宣布与Royalty Pharma结成战略联盟,推出生命科学指数
  19. MCM/ICM(美国大学生数学建模竞赛)报名指南
  20. C语言流控制命令的总结

热门文章

  1. java窗口布局_Java窗口(JFrame)从零开始(4)——流布局+边界布局+网格布局
  2. python可以500x1000_Python练习题 一. 使用匿名函数对1~1000求和,代码力求简洁。...
  3. php正则多个字段,正则表达式,grep_linux shell中如何实现对多个关键字段的排除?,正则表达式,grep,linux,shell - phpStudy...
  4. python中object类的源码在哪里-[Python之路] object类中的特殊方法
  5. 查询数据总数_Web | Django 与数据库交互,你需要知道的 9 个技巧
  6. web 流程图工具_要什么第三方流程图制作软件,微软的Visio 2016不香吗?
  7. mysql 主节点挂机_云服务器如何重启MySQL服务,正确重启mysql
  8. aspose word 删除空行_Word:删除空行
  9. 李彦宏宣布百度架构调整:智能云事业部升级
  10. 算法:从上往下打印二叉树