Java 面向对象思想

简介: Java 面向对象思想

总结:


对象=属性+方法


类是对象的集合,对象是类的具体


类规定了属性应该有的属性和方法


类是定义规范,对象是根据类的规范构造出来,真实存在的


程序发展,从op面向过程----》oo面向对象是思想的碰撞,面向过程的典型的就是老祖宗C语言,我就是从C来到Java的,更在意用函数按步骤实现,所有的变量都是被动参与的,自己没有主动权,面向对象中,它的方法是属于每个对象的,能否实现是由每个对象说了算


基本类型(一种变量)----》结构体(多种变量在一起)----》类(多种变量+方法)

类可以继承,子类可以继承父类允许继承的所有内容(不能直接访问 private 成员)


基本类型无法做到,C语言的结构体,也可以包含,但是没有方法


b5a0c24213c0483f8af49e49b852c2cc.png

a824d911047143799b935f95773576a7.png



OO最早的始于 Simula67,成形于20世纪70年代 Smalltalk,当前最主要的代表是C++和 Java


f96beefb55814b3b971f652160e6209a.jpg


面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物,是一种是软件开发方法


面向对象的主要特征:


1.抽象


专注相关,忽略无关,把现实世界中的某一类东西,提取出来,用程序代码表示,抽象出来的一般叫做类或接口,抽象并不打算了解全部问题,而是选择其中的一部分,暂时不用管部分细节,抽象包括两个方面,一个是数据抽象,一个过程抽象


数据抽象–》表示世界中一类事物的特征,就是对象的属性,比如鸟有翅膀,羽毛,颜色……(类的属性)


过程抽象–》表示世界中一类事物的行为,就是对象的行为,比如鸟会飞,进食,拉屎……(类的方法)


2.封装


封装是面向对象的特征之一,是对象和类概念的主要特性。封装就是把过程和数据包围起来,对数据的访问只能通过已定义的界面。如私有变量,用set,get方法获取。


封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。


3.继承


一种联结类的层次模型,并且允许和鼓励类的重用,提供一种明确表达共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),原始类称为新类的基类(父类)。派生类可以从它的父类哪里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。因此可以说,继承为了重用父类代码,同时为实现多态性作准备。


4.多态


多态是指允许不同类的对象对同一消息做出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活/抽象/行为共享/代码共享的优势,很好的解决了应用程序函数同名问题。总的来说,方法的重写,重载与动态链接构成多态性。java引入多态的概念原因之一就是弥补类的单继承带来的功能不足。

动态链接 -->对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将调用子类中的这个方法,这就是动态链接。


面向对象程序设计具有许多优点:


1、开发时间短,效率高,可靠性高,所开发的程序更强壮。由于面向对象编程的可重用性,可以在应用程序中大量采用成熟的类库,从而缩短了开发时间。


2、应用程序更易于维护、更新和升级。继承和封装使得应用程序的修改带来的影响更加局部化。




相关文章
|
29天前
|
Java 开发者
Java 面向对象新视界:揭秘子类如何“继承”父类精华,再添“创新”之笔
【6月更文挑战第16天】在Java的面向对象世界,子类继承父类的特性,如`Circle`继承`Shape`,展示“is-a”关系。子类不仅保留父类的`color`和`display`方法,还添加了`radius`属性及定制的显示逻辑。这种继承与创新允许代码复用,增强灵活性和可扩展性,使得构建复杂系统变得更加高效和模块化。通过持续的继承与定制,开发者能构建出一系列独具特色的类,充分展现面向对象编程的力量。
|
19天前
|
Java
Java编程思想(面向对象)第四版PDF分享
探索《Java编程思想》第四版,理解Java不仅是特性集合,更是解决问题的强大工具。本书深入设计层面,构建编程思维模型,助你逐步精通Java。[阅读更多](https://zhangfeidezhu.com/?p=355) ![Java编程思想](https://ucc.alicdn.com/pic/developer-ecology/nrw3f3oqlpmag_c8ff959a921545f1bbabcefd37f029cf.png)
25 1
Java编程思想(面向对象)第四版PDF分享
|
14天前
|
Java
Java面向对象(二)
Java面向对象(二)
|
14天前
|
Java 编译器
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
|
14天前
|
Java
Java面向对象 ( 多态 | final关键字 | 接口 )
Java面向对象 ( 多态 | final关键字 | 接口 )
|
14天前
|
Java
Java面向对象 ( 类与对象 | 构造方法 | 方法的重载 )
Java面向对象 ( 类与对象 | 构造方法 | 方法的重载 )
|
24天前
|
存储 Java C语言
Java面向对象课程设计--类管理系统
Java面向对象课程设计--类管理系统
20 1
|
24天前
|
Java
Java面向对象特征(二)----- 继承
Java面向对象特征(二)----- 继承
Java面向对象特征(二)----- 继承
|
27天前
|
Java 数据安全/隐私保护 开发者
Java是一种完全支持面向对象编程的语言,其面向对象特性包括封装、继承、多态和抽象等
【6月更文挑战第18天】**面向对象编程(OOP)通过对象封装状态和行为,实现问题域的抽象。Java全面支持OOP,核心特性包括**: - **封装**:保护数据安全,隐藏内部细节。 - **继承**:子类继承父类属性和行为,促进代码重用。 - **多态**:一个接口多种实现,增强灵活性和扩展性。 - **抽象**:通过接口和抽象类抽离共性,简化复杂性。 **Java的OOP便于理解和解决复杂系统问题。**
30 3
|
14天前
|
Java
Java面向对象知识总结+思维导图
Java面向对象知识总结+思维导图