面向对象编程(Java)

本文深入探讨面向对象编程(OOP)的核心概念,包括其历史背景、类与对象的定义,以及封装、继承和多态等关键特性。通过具体例子说明如何在Java中实现面向对象设计,帮助读者理解OOP在现代软件开发中的重要性和应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是面向对象编程

面向对象程序设计(简称OOP)是当今主流的程序设计范型,它已经取代了20世纪70年代的“结构化”过程化程序设计开发技术。Java是完全面向对象的,必须熟悉OOP才能够编写Java程序。面向对象程序是由对象组成的程序,每个对象包含对用户公开的特定功能部分(public)和隐藏的实现部分(private),即:面向对象编程。

面向对象由来

前面提到面向对象程序设计取代了“结构化”过程化程序设计开发技术,所以OOP的诞生与结构化过程程序设计也是有一定关系的。传统的结构化程序设计通过设计一些列的过程(即算法)来求解问题。一旦确定这些过程,就要开始考虑存储数据的方式。这就是Pascal语言的设计者Niklaus Wirth将其著作名为《算法+数据结构=程序》的原因,算法是第一位,数据结构是第二位,这就明确的表述了程序员的工作方式。而OOP却调换了次序,将数据放在第一位,然后再考虑操作数据的算法。

类——对象的载体(数据存储方式)

**类(class)是构造对象的模版或蓝图。**我们可以将类想象成制作小甜饼的切割机,将对象想象成小甜饼。由类构造(construct)对象的过程称为创建类的实例(instance)。

对象

想要使用OOP,一定要清楚对象的三个主要特征

  • 对象的行为(behavior)——可以对对象施加操作(方法
  • 对象的状态(state)——当施加方法时,对象状态变化(对象属性变化
  • 对象标识(identity)——辨别具有相同行为与状态的不同对象(引用

面向对象三大特征

面向对象三大特征都有利于程序实现高内聚,低耦合

封装

封装(encapsulation,有时候称为数据隐藏)是与对象有关的一个重要概念。从形式上看,封装不过是将数据和行为组合一个包中,并对对象的使用者隐藏了数据的实现方式。对象中的数据称为实例域,操纵数据的过程称为方法。对于每个特定的类实例(对象)都有一组特定的实例域值。实例封装的关键在于绝对不能让类中的方法直接的访问其他类的实例域。程序仅通过对象的方法与对象数据进行交互。封装给对象赋予了“黑盒”特征,这是提高重用行和可靠性的关键。

继承

通过扩展一个类来建立另外一个类的过程称为继承,关键字extend。利用继承,人们可以基于已存在的类构造一个新的方法和域,以满足新的需求。这是Java程序设计的核心技术。

多态

多态的定义:

  • 父类的引用变量指向子类对象
  • 父类只能使用子类重写的非静态成员方法,而如果想用子类的所有属性的话,就强制转换成子类。

多态的存在有三个前提:

  1. 要有继承关系
  2. 子类要重写父类的方法
  3. 父类引用指向子类对对象,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值