目录

  • 一、解答
  • 二、链接

一、解答

1、概述

面向对象中的对象指的是由一组数据结构和处理它们的方法组成,“数据” 包括对象的静态信息,如特性、状态等;“方法” 也就是行为,包括对象的能动信息,如对象的操作、功能等。把具有相同行为的对象归纳为类,类是一个抽象的概念,对象是类的具体。简单来说:对象就是类的实例。例如:歌手就是一个类,那么薛之谦就是一个对象。

2、面向对象的优点

  • 可扩展性: 指新的功能可以很容易地加入到系统中来,便于软件的修改。
  • 可维护性: 能够将功能与数据结合,方便管理。
  • 可重用性: 代码重复使用,减少代码量,提高开发效率。下面介绍的面向对象的三大核心特性(继承、封装和多态)都围绕这个核心。

3、面向对象的三大特性

  • 封装: 是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和改的访问级别。封装就是通过访问控制符(public、private、protected)来实现的。一个类就可以看成一个封装,例如:一个实体类中的get和set方法。

  • 继承: 就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的属性和方法,或子类从父类继承方法,使得子类具有父类相同的行为。子类可以对父类的方法进行覆盖(实现多态)。但是继承破坏了封装,因为父类对子类开放,修改父类就会导致所有子类改变,因此继承在一定程度上又破坏了系统的可扩展性,只有明确的 IS-A 关系才能使用。继承要慎用,尽量优先使用组合。

  • 多态: 是同一个行为具有多个不同表现形式或形态的能力。接口是对行为的抽象,在封装中提到,将变化部分封装起来,但是封装后怎么适应接下来的变化?这正是接口的作用,接口的主要目的是将不相关的类提供通用的处理服务,我们可以想象一下:鸟会飞,超人也会飞,通过飞这个接口,我们可以让鸟和超人都实现这个接口。

4、面向对象编程(OOP)

面向对象编程其实是一种设计思想,在程序设计过程中把每一部分都尽量当成一个对象来考虑,以实现软件系统的可扩展性、可维护性和可扩展性。

二、链接

1、面向对象教程:链接。

Java 谈谈你对面向对象的理解?相关推荐

  1. java -谈谈我对面向对象的理解,private的意义

    万物皆对象,在我们生活中,一个水杯,一个枕头,都可以把它当做一个对象. java面向对象有三个特性,封装,继承,多态,如果再加一个,那就是抽象 我们来举个例子 我是上帝,我要开始造人了,我会先想,人是 ...

  2. Java面试一百道题目(第一题)-什么是面向对象,谈谈你对面向对象的理解

    Java面试一百道题目(第一题) 1,什么是面向对象,谈谈你对面向对象的理解. 思路:用面向过程和面向对象做对比来突出什么是面向对象. 答:高级语言分为,面向对象语言和面向过程语言,面向过程语言,距离 ...

  3. 什么是面向对象? 谈谈你对面向对象的理解

    面试官提问:什么是面向对象? 谈谈你对面向对象的理解 面试题拆解: 这道面试题对于工作时间不是很长的Java程序员来说,出现频率是比较高的. 那么到底什么是面向对象呢?讲面向对象之前,需要先聊一下面向 ...

  4. 面向对象思想--谈谈你对面向对象的理解

    面向对象 面向对象编程,即OOP,面向对象的概念和应用已经超越了程序设计.软件开发领域,现在已经发展到了各个领域. 面向对象可以说是对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段的产物. ...

  5. 谈谈面试题之什么是面向对象?谈谈你对面向对象的理解?

    一.什么是面向对象? 对比面向过程,是两种不同的处理问题的角度. 面向过程更注重事情的每一个步骤及顺序,面向对象更注重事情有哪些参与者(对象),及各自需要做些什么 举例说明:洗衣机洗衣服 面向过程:会 ...

  6. java面向对象的理解_java胜于C语言,却又静态面向对象,简单?

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征. Java语言作为静态面向对象编程语言的代 ...

  7. 什么是面向对象?谈谈对面向对象的理解?

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.什么是面向对象?谈谈对面向对象的理解? 二.3大特征: 1.封装: 2.继承: 2.多态: 总结 一.什么是面向对象?谈 ...

  8. Java面向对象系统理解

    1.对面向对象的理解 面向过程 面向过程,核心是过程二字.过程即解决问题的步骤,设计一条流水线,机械式的思维方式.它考虑的是实际地实现,针对一个特定的问题去思考其解决步骤.学过C语言的同学就知道,用C ...

  9. 谈谈你对 Spring 的理解

    谈谈你对 Spring 的理解 Spring 是一个开源框架,为简化企业级应用开发而生. Spring 可以是使简单的 JavaBean 实现以前只有 EJB 才能实现的功能. Spring 是一个 ...

最新文章

  1. 用了这么久的 Python,居然没注意到这个操作
  2. 计算机科学与技术考研专业课网课,考研计算机专业课视频教学哪个好
  3. 怎么算 实体识别_大篷车流动摆摊卖日用品月赚万元,大商场生意冷清,实体店不好做...
  4. CentOS6.2下使用Nokia E72i成功发送短信
  5. 轮子,辛苦你了。 | 今日最佳
  6. 论文浅尝 | 用于低资源条件下知识图谱补全的关系对抗网络
  7. C语言图像处理二值图细化,Visual C 实现二值图像处理
  8. SpringBoot系列九:SpringBoot服务整合(整合邮件服务、定时调度、Actuator监控)
  9. php输出下载地址,PHP实现的文件直接输出下载
  10. ASP.NET以编程的方式动态的添加Css引用
  11. LeetCode Shortest Word Distance II
  12. Could not find method jackOptions() for arguments
  13. 改了计算机名字后重启断网了,电脑断网重启就好了是什么回事
  14. 第三集 怪物学院 第十六章
  15. 哲学初感 ---- 《苏菲的世界》总结
  16. 什么是根证书和中间证书(中级证书)?
  17. Android项目从零到上线的全过程
  18. 浅谈5G网络及其应用
  19. wangeditor v5 在vue中的使用
  20. 用c语言实现一个简单的计算器(数据结构)

热门文章

  1. 智慧水务 平台供水信息管控系统 城市供水SCADA一体化调度平台建设
  2. js身份证正则精准校验
  3. win8下联通3G网卡使用异常:连接中止+DNS解析错误
  4. Maven---本地仓库访问私服配置
  5. CountDownTimer显示时间速率变快问题
  6. VirtualBox 创建了备份(系统快照),如何恢复备份
  7. 工作记录------各种系统简称以及职场英文缩写含义
  8. CAD图纸查看神器Web CAD SDK教程(上篇)|附下载
  9. 物理像素,设备独立像素,像素比
  10. Power9问世又怎样,一条SQL就把最牛小型机搞瘫了(有彩蛋)