面向对象的简单理解

定义

这是百度百科对于面向对象做出的解释。

  1. 面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
  2. 面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
  3. 面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。

基本概念

  1. 对象的含义是指具体的某一个事物,即在现实生活中能够看得见摸得着的事物。在面向对象程序设计中,对象所指的是计算机系统中的某一个成分。
  2. 在面向对象程序设计中,对象包含两个含义,其中一个是数据,另外一个是动作。对象则是数据和动作的结合体。对象不仅能够进行操作,同时还能够及时记录下操作结果。
  3. 方法是指对象能够进行的操作,方法同时还有另外一个名称,叫做函数。方法是类中的定义函数,其具体的作用就是对对象进行描述操作。

继承

  1. 继承简单地说就是一种层次模型,这种层次模型能够被重用。层次结构的上层具有通用性,但是下层结构则具有特殊性。
  2. 在继承的过程中类则可以从最顶层的部分继承一些方法和变量(也就是说子类可以继承父类的部分方法,这就体现的方法的复用,同时子类还可以重写父类的方法)。
  3. 类除了可以继承以外同时还能够进行修改或者添加。通过这样的方式能够有效提高工作效率。在这里举一个例子,当类X继承了类Y后,此时的类X则是一个派生类,而类Y属于一个基类。
  4. 继承是从一般演绎到特殊的过程,可以减少知识表示的冗余内容,知识库的维护和修正都非常方便。更有利于衍生复杂的系统。

  1. 类是具有相同特性(数据元素)和行为(功能)的对象的抽象。
  2. 因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。(类的实例化实际上指的就是创建一个类的对象)
  3. 类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。
  4. 类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。
  5. 类映射的每一个对象都具有这些数据和操作方法,类的继承具有层次性和结构性,高层次对象封装复杂行为,具体细节对该层次知识保持透明,可以减小问题求解的复杂度。(也不是很理解这句话的意思)

封装

  1. 封装是将数据和代码捆绑到一起,对象的某些数据和代码可以是私有的,不能被外界访问,以此实现对数据和代码不同级别的访问权限。
  2. 防止了程序相互依赖性而带来的变动影响,面向对象的封装比传统语言的封装更为清晰、更为有力。
  3. 有效实现了两个目标:对数据和行为的包装和信息隐藏。

多态

  1. 多态是指不同事物具有不同表现形式的能力。
  2. 多态机制使具有不同内部结构的对象可以共享相同的外部接口,通过这种方式减少代码的复杂度。
  3. 一个接口,多种方式。
  4. 在编程语言和类型论中,多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。
  5. 多态类型(英语:polymorphic type)可以将自身所支持的操作套用到其它类型的值上。

特征

  1. 对象唯一性。
    每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
  2. 抽象性。
    抽象性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。
  3. 继承性。
    继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
  4. 多态性。
    多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。

面向对象思想——JAVA

面向对象思想概述

概述

  1. Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。
  2. 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。
  3. 面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。
  4. 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现。

举例

洗衣服:
面向过程 把衣服脱下来–>找一个盆–>放点洗衣粉–>加点水–>浸泡10分钟–>揉一揉–>清洗衣服–>拧干–>晾起来
面向对象 把衣服脱下来–>打开全自动洗衣机–>扔衣服–>按钮–>晾起来
区别:
面向过程:强调步骤。
面向对象:强调对象,这里的对象就是洗衣机。

特点

  1. 面向对象思想是一种更符合我们思考习惯的思想,它可以将复杂的事情简单化,并将我们从执行者变成了指挥者。
  2. 面向对象的语言中,包含了三大基本特征,即封装、继承和多态。

类和对象

  1. 类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。
  2. 属性:就是该事物的状态信息。
  3. 行为:就是该事物能够做什么。
  4. 举例:小猫。
    属性:名字、体重、年龄、颜色。
    行为:走、跑、叫。

对象

  1. 对象:是一类事物的具体体现。
  2. 对象是类的一个实例,必然具备该类事物的属性和行为。
  3. 举例:一只小猫。
    属性:tom、5kg、2 years、yellow。
    行为:溜墙根走、蹦跶的跑、喵喵叫。

类与对象的关系

  1. 类是对一类事物的描述,是抽象的。
  2. 对象是一类事物的实例,是具体的。
  3. 类是对象的模板,对象是类的实体。

类的定义

事物与类的对比

现实世界的一类事物:
属性:事物的状态信息。 行为:事物能够做什么。
Java中用class描述事物也是如此:
成员变量:对应事物的属性 成员方法:对应事物的行为

类的定义格式

public class ClassName {
	//成员变量
	//成员方法
}
  1. 定义类:就是定义类的成员,包括成员变量和成员方法。
  2. 成员变量:和定义变量几乎是一样的。只不过位置发生了改变。在类中,方法外。
  3. 成员方法:和定义方法几乎是一样的。只不过把static去掉。
  4. 类的定义格式举例:
public class Student {
	//成员变量
	String name;//姓名
	int age;//年龄
	//成员方法
	//学习的方法
	publicvoid study() {
		System.out.println("好好学习,天天向上");
	}
	//吃饭的方法
	publicvoid eat() {
		System.out.println("学习饿了要吃饭");
	}
}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CAFEBABE 34

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值