首页 > 编程知识 正文

Java面向对象思想,怎么理解面向对象开发

时间:2023-05-04 11:45:39 阅读:116767 作者:1365

面向对象是思想,以过程为导向为基础。 也就是说,面向对象以对象实现功能等,将功能封装在对象中,使对象实现具体细节的这一思想把数据放在第一位,把方法或算法放在第二位。 这是优化数据,方便操作,简化流程。 面向对象有三个特征。 是封装、继承和多态性。 其中封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式,从而隔离具体变化,使其易于使用,提高重用性和安全性。 继承性是指两者之间存在一定的隶属关系,继承的类可以从继承的类中获得一些属性和方法,从而提高代码的重用性。 继承是多态性的前提。 多态性是指对父类或接口的引用指向子类中的对象,从而提高程序的可扩展性。 这意味着,只要实现或继承了相同的接口或类,就可以使用父类的相应方法来提高程序的可扩展性。 但是,多态具有父类引用无法访问子类成员的缺点。

例如,假设你去酒店吃饭。 你只是去酒店,找到酒店的员工,说你吃什么,然后做它给你吃。 你不需要知道这顿饭是怎么错的。 请你面对这个员工,告诉我你要吃什么。 而且他也只是冲着你吃完就拿钱就行了,不需要知道你怎么吃这顿饭。

1、特点:

1 )将复杂的事情简单化。

2 )面向对象将以前流程的执行者变成了指挥者。

3 )面向对象思想是符合当今人们思维习惯的思想。

2、面向对象的三个特点:封装、继承、多态性

1 .封装:只隐藏对象的属性和实现细节,只对外提供公共访问方式

优点:隔离变化,使用方便,提高复用性,提高安全性

原则:隐藏无需隐藏对外提供内容的属性,提供对公共方法的访问

2 .继承:提高代码复用性的继承是多态性的前提

注:

子类中的所有构造函数默认访问父类中空参数的构造函数,默认第一行显示super (; 如果没有空的参数构造函数,则必须在子类中指定。 此外,在子类构造函数中,可以自己在this中指定自己的其他构造函数。

3 .多态性

是一个实例对象,父类或接口定义的引用变量可以指向子类或具体实现类

优点:提高了程序的可扩展性

弊端:如果父类引用子类中的对象,则会提高可扩展性,但限制访问权限,只能访问父类中的方法,不能访问子类中的方法。

前提:写实现或继承关系的父类方法。

面向对象的总结:

面向对象实际上是现实世界模型的自然扩展。 现实世界中的任何实体都可以视为对象。 对象之间通过消息进行交互。 另外,现实世界中的任何实体都可以属于某种事物,任何对象都是某种事物的实例。 如果传统的过程式编程语言是以过程为中心驱动算法的,那么面向对象的编程语言是以对象为中心驱动消息的。 用表达式表示,过程式编程语言是程序=算法数据面向对象编程语言是程序=对象消息。

所有面向对象的编程语言都支持三个概念:封装、多态和继承,Java也不例外。 现实世界中的对象有属性和行为,并映射到计算机程序中。 属性表示对象的数据,行为表示对象的方法(其作用是处理数据或与外部交互)。 封装是指用一个自主的框架将对象的数据和方法结合起来形成一个整体。 对象是支持包的手段,也可以说是包的基本单位。 Java语言封装很强。 由于Java没有全局变量且具有无主函数,因此Java中的大多数成员都是对象,除了简单的数字类型、字符类型和布尔类型之外。 对于这些类型,Java还提供了相应的对象类型,用于与其他对象进行交互。

多样性是指各种表现形式,具体可以用“一个对外接口、多个内在实现方法”来表示。 例如,计算机中的堆栈可以存储多种格式的数据,包括整数、浮点和字符。 无论存储了什么数据,堆栈的算法实现都是一样的。 在某些数据类型中,程序员不需要手动选择,只要使用统一的接口名称,系统就可以自动选择。 “重载运算符”(operator overload )被认为是一种很好的多态性机制,但由于程序被认为很难理解,Java最终取消了。

继承是指一个对象直接使用另一个对象的属性和方法。 其实,我们遇到的很多实体都有继承的意义。 例如,

作为一个实体,它可以分为卡车、公共汽车等多个子实体。 这些子实体都具有汽车的特性。 因此,汽车是他们的“父亲”,这些子实体是汽车的“孩子”。 Java为用户提供一组类(class )。 Java类具有分层结构,子类可以继承父类的属性和方法。 与其他面向对象的编程语言不同,Java只支持单继承。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。