在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
提起Java,大家都知道它是一门典型的面向对象的编程语言。但是对于面向对象,可能还有许多人并不清楚。那么面向对象是什么?有哪些特征呢?本文就来带大家好好认识一下面向对象。面向对象是一种软件的开发方法,它的特征归纳起来就是三点,即封装、继承和多态。下面是关于面向对象的深入介绍:
面向对象是什么?
面向对象程序设计是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。它可能包含数据、属性、代码与方法。对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关连的数据。在面向对象程序编程里,计算机程序会被设计成彼此相关的对象。面向对象的优点是易维护、易复用、易扩展。由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。但是它的缺点也是很明显的,像是性能比面向过程低。
面向对象有哪些特征?
1、封装:找到变化并且把它封装起来,你就可以在不影响其它部分的情况下修改或扩展被封装的变化部分,这是所有设计模式的基础,就是封装变化,因此封装的作用,就解决了程序的可扩展性。
2、继承:子类继承父类,可以继承父类的方法及属性,实现了多态以及代码的重用,因此也解决了系统的重用性和扩展性,但是继承破坏了封装,因为他是对子类开放的,修改父类会导致所有子类的改变,因此继承一定程度上又破坏了系统的可扩展性,所以继承需要慎用,只有明确的IS-A关系才能使用,同时继承在在程序开发过程中重构得到的,而不是程序设计之初就使用继承,很多面向对象开发者滥用继承,结果造成后期的代码解决不了需求的变化了。因此优先使用组合,而不是继承,是面向对象开发中一个重要的经验。
3、多态:接口的多种不同的实现方式即为多态。接口是对行为的抽象,刚才在封装提到,找到变化部分并封装起来,但是封装起来后,怎么适应接下来的变化?这正是接口的作用,接口的主要目的是为不相关的类提供通用的处理服务,我们可以想象一下。比如鸟会飞,但是超人也会飞,通过飞这个接口,我们可以让鸟和超人,都实现这个接口,这就实现了系统的可维护性,可扩展性。
以上就是面向对象的具体介绍和特征分析。在Java的学习中,面向对象是一个绕不过去的重点,如果大家还想继续了深入了解面向对象的相关知识点,可以上博学谷平台观看相关视频学习资源。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java基础面试题 Object类中Hashcode 和 equals区别与联系是什么?
equals Object 类中默认的实现方式是 : return this == obj 。那就是说,只有 this 和 obj 引用同一个对象,才会返回 true。Hashcode这个方法返回对象的散列码,返回值是 int 类型的散列码。
8718
2019-06-03 16:36:48
MySQL中数据库的设计归纳讲解
谈到MySQL中数据库的设计,相信大家都知道这是实现实际业务的重要一步,因此对于Java学习者来说,深入了解和学习数据库的设计是十分有必要的。本文为大家准备了一份MySQL中数据库的设计归纳讲解,内容包括了多表之间的关系,像是分类、实现以及案例分析,还有数据库设计的范式概念和分类等等。有学习兴趣的朋友现在赶紧接着看下去吧!
4165
2020-02-13 14:53:59
线程基础知识Java并发编程
线程基础知识Java并发编程,进程和线程是操作系统内两个很基的概念,进程是操作系统中进行保护和资源分配的基本单位,操作系统分配资源以进程为基本单位。而线程是进程的组成部分代表了一条顺序的执行流。
4465
2020-04-10 14:46:44
成为Java架构师需要学习哪些知识?
成为 Java 架构师需要学习哪些知识?相信 Java 架构师是很多程序员的终极目标,其实立志成为Java 架构师,最应该做好准备的是保持一颗持之以恒学习的心。学习专业技能知识固然重要,但是如果没有这个前提,许多人在通往梦想的路上就已经放弃了。因此,学习态度是一切的前提和决定成败的关键因素。
5967
2020-06-19 10:52:01
JDK和Path环境变量如何配置?
JDK和Path环境变量如何配置?安装JDK 选择安装目录 安装过程中会出现两次 安装提示 。第一次安装 jdk ,第二次安装 jre 。两个都建议安装在同一个Java文件夹中的不同文件夹中。作为一个零基础准备入门Java菜鸟来说,首先安装配置适合自己的Java环境。
4851
2020-07-14 15:12:12