【JavaLearn】 # (2)类和对象、变量、构造方法、普通方法、this关键字

1. 类和对象

1.1 面向过程和面向对象

面向过程和面向对象都是对软件分析、设计和开发的一种思想。

  • 机器语言
  • 汇编语言
  • 高级语言
    • 面向过程:C、Fortran。。。
    • 面向对象:C++、Java、C#

先有面向过程的思想,随着软件规模扩大,问题复杂性的提高,出现了面向对象的思想。软件的分析、设计、开发就演化成了面向对象分析(OOA)、面向对象设计(OOD)和面向对象编程(OOP)

示例1:开车和造车

① 面向过程思想:首先要思考”怎么按步骤实现,将步骤对应方法,一步一步,最终实现(重点关注如何执行

点火,发动 ==》 挂挡 ==》 踩油门 ==》 gogogo

② 面向对象的思想:如果要造一辆车呢向过程的思想显然就不适合了,我们需要使用面向对象的思想进行思考,首先要思考的是”怎么设计这个事物,例如,”车怎么设计

细致解析:

  • 类的基本组成:成员变量(属性field)成员方法(method)

    • 成员变量:[修饰符] 数据类型 属性名 = [默认值];

      变量都具备默认值(整型:0, 浮点型:0.0, 字符型:‘u0000’,引用类型:null,布尔型:false)

    • 成员方法: [修饰符] 方法返回值类型 方法名 ( 形参列表 ) { // TODO }

      方法具有封装、重用代码

  • 对象的操作:创建对象操作属性调用方法

    • 创建对象:类名 引用名 = new 类名(); // 构造方法

    • 操作属性:

      p1.name = “张三”; // 赋值

      String name = p1.name; // 取值

    • 调用方法:对象名.方法名(实参列表) p1.work(“学校”);

具体的代码示例:模拟人的行为,吃饭工作和休息

  • 面向对象分析 OOA

    从张三、李四、王五中提取出共同内容,抽象成一个“人” 类 Person,包含静态的属性和动态的行为

    • 静态的属性:姓名、年龄、性别、住址
    • 动态的行为:eat、rest、work
  • 面向对象设计 OOD

    • 类:Person
    • 对象:zhangsan、lisi 然后让对象完成功能(吃饭、工作、休息)
  • 面向对象编程 OOP

对象内存分配图:

4. 方法调用

方法调用时,参数的传递分为两种:基本数据类型的调用引用数据类型的调用

4.1 基本数据类型的方法调用 – 值调用

【JavaLearn】 # (2)类和对象、变量、构造方法、普通方法、this关键字

4.2 引用数据类型的方法调用 – 地址传递

地址传递本质上也是值传递

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月24日
下一篇 2022年2月24日

相关推荐