Java入门-面向对象

类与对象

面向对象作为java语言的核心,我们尝试通过与现实应用相结合一点点的去理解什么是面向对象,如何使用面向对象思想指导开发。

面向对象与面向过程

我们以生活中的吃饭为场景,以面向过程和面向对象的描述,理解什么是面向对象,什么是面向过程以及它们之间的区别。

第一种方式“吃饭”

规定好吃饭的流程,如下图

image-20240418091222148

实现过程

img

[分析]

完成吃饭工程:是一个个****动作*的连续性,如果其中的一个动作失败那么吃饭工程能否成功难以保证。过程的核心是*动作****,过程安排动作的执行步骤。一旦过程给定改变其中的动作会是项目的完成难度增加。

第二种“吃饭”

实现过程

img

[分析]

在吃饭项目中的核心是顾客和饭,系统关心的是顾客能不能吃上饭,至于饭如何做出来的,如何运输等对于顾客来讲是不关心的。系统关注于对象和对象的交互,核心思想:对象

类的设计

面向对象的核心是"对象",对象是什么?现在比较准确的回答是:

对象是一个有职责的东西。实际在程序运行中以对象为核心的开发成为了面向对象的主要任务。但是按照人类的工作方式:先设计后实现,在对象创建之前我们需要先设计再使用对象,我们把设计阶段的的抽象内容称之为类类的具体产物称为对象。类就像一个车模型,对象是指根据这个模型造出的具体车。要使用对象先要学习类。

类设计的三大要素

如何设计类?在实践过程中类一般有三大要素构成:类名属性方法,例如下图车的模型(设计图)可以看作类。

imgimg

  • 类名:类的唯一性,比如车类和狗类不同(可以理解为我们熟悉的类型,即自定义了一种新的类型)。
  • 属性:属性是用来存储对象的数据,表示对象的特征,比如车有颜色特征,具体颜色是什么是由产生为对象后更新的。
  • 方法:方法表示对象的行为,即对象能干什么?比如车对象,能加速、跑起来等。
如何创建对象

我们提到类是对象的模板,是很多对象的抽象,设计类是在设计阶段。那么如何产生对象呢?对象是类的一个具体实例(instance), 一般创建方式使用new 关键字完成。

img

如图所示,java创建对象的一般方式:

类型 引用名称 = new 构造方法();

比如: Car myCar = new Car( );

有了对象我们就可以使用对象的方法: myCar.run( );

什么是引用

在创建对象中我们使用这样的语法:

 Car myCar = new Car( );

myCar这个变量称之为引用变量。myCar实际上并不是对象,正真的对象是new Car( )产生出来的实例,但是这样操作对象有些麻烦,java的设计者使用了引用(reference)概念,用来和对象绑定,对引用myCar的操作就实际上是对Car对象的操作。

常用类设计中的方法

我们知道了类设计需要三个要素(类名、属性、方法), 除此以外哪些内容会是我们开发中常设计的呢?

  • setXXX()方法 : 给每个属性设计一个set方法,使用者可以通过set方法修改属性的内容。

img

  • getXXX()方法 : 通过get方法,获取属性的值。

img

  • toString()方法 : 返回该对象的字符串表示。通常, toString方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。

程序案例:

@Override
public String toString() {
	return "Car [brand=" + brand + ", color=" + color + ", price=" + price + "]";
}
this关键字

this关键字表示对象自己的引用,一般在创建对象的时候会创建引用变量,如我们提到的myCar引用变量。在对象创建时对象内部还产生了一个自己的引用,命名为this。这个引用我们不能直接访问,但是我们可以在类设计中使用它把它当作对象自己。

例如: this.brand 表示对象的属性brand。

在set、get方法中使用this,可以增强代码的可读性。

public String getColor() {
    return color;
}

public void setColor(String color) {
    this.color = color;
}

  • 26
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
面向对象是一种程序设计的思想,它将程序中的数据和对数据的操作封装在一起,形成对象对象是类的一个实例,类定义了对象的属性和行为。在Java中,面向对象的概念包括类与对象的关系、封装、构造函数、this关键字、static关键字以及设计模式等方面。 设计模式是在软件设计中常用的解决问题的经验总结,它提供了一套可重用的解决方案。在Java中,单例设计模式是一种常见的设计模式之一,它保证一个类只有一个实例,并提供一个全局访问点。通过使用单例设计模式,可以确保在程序中只有一个对象实例被创建,从而节省了系统资源并提高了性能。 通过使用单例设计模式,可以实现以下效果: - 限制一个类只能有一个实例。 - 提供一个全局访问点,使其他对象可以方便地访问该实例。 - 保证对象的唯一性,避免多个对象的状态不一致。 在Java中,实现单例设计模式有多种方式,包括饿汉式、懒汉式、双重检测锁等。每种方式都有各自的特点和适用场景,开发者可以根据具体的需求选择合适的实现方式。设计模式是一种通用的解决问题的方法,它可以在面向对象的程序设计中提供灵活、可复用的解决方案。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [计算机后端-Java-Java核心基础-第15章 面向对象07 14. 设计模式与单例设计模式.avi](https://download.csdn.net/download/programxh/85435560)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [完整版Java全套入门培训课件 Java基础 03-面向对象(共18页).pptx](https://download.csdn.net/download/qq_27595745/21440470)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值