当前位置: 首页 > news >正文

Java基础面试-面向对象

什么是面向对象?

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

比如洗衣机洗衣服
面向过程会将任务拆解成一系列的步骤(函数)
1、打开洗衣机–.-2放衣服.-3放洗粉–.4、清洗—5烘干

面向对象会拆出人和洗衣机两个对象:
人:打开洗衣机 放衣服 放洗衣粉
洗衣机:清洗 烘干

从以上例子能看出,面向过程比较直接高效,而面向对象更易于复用、扩展和维护

封装,继承,多态

面向对象的三大特性

封装

封装的意义,在于明确标识出允许外部使用的所有成员函数和数据项
内部细节对外部调用透明,外部调用无需修改或者关心内部实现

继承

继承基类的方法,并做出自己的改变或扩展
子类共性的方法或者属性直接使用父类的,而不需要自己再定义,只需要扩展自己的个性化

多态

基于对象所属类的不同,外部对同一个方法的调用,实际逻辑不同
继承,方法重写,父类引用指向子类对象
弊端:无法调用子类特有功能

http://www.lryc.cn/news/190107.html

相关文章:

  • GCC vs. G++:C 与 C++ 编译器的差异和比较
  • MAC m系列docker login报错
  • Redis通用指令和五大基本数据类型常用指令总结
  • uCharts常用图表组件demo
  • VNC:Timed out waiting for a response from the computer
  • Kotlin 协程 知识点
  • 简单大方的自我介绍 PPT 格式
  • panads操作excel
  • 【MySQL】联合查询、子查询、合并查询
  • 小程序中如何设置所服务地区的时区
  • Linux环境安装mysql8.0
  • STM32_DMA_多通道采集ADC出现错位现象
  • Linux内存管理 (2):memblock 子系统的建立
  • 创新学习方式,电大搜题助您迈向成功之路
  • Mybatis整理
  • pytorch定义datase多次重复采样
  • 自动化测试 —— Pytest fixture及conftest详解!
  • Nginx解析漏洞
  • 【机器学习】决策树原理及scikit-learn使用
  • #基于一个小车项目的FREERTOS分析(一)系统时钟
  • ubuntu mmdetection配置
  • 嵌入式面试常见问题(一)
  • docker批量删除本地镜像
  • 数据结构(一)—— 数据结构简介
  • Ubuntu输入正确密码重新跳到登录界面
  • TCP/IP(十四)流量控制
  • CSS网页标题图案和LOGO SEO优化
  • 机器人制作开源方案 | 双轮提升搬运小车
  • 5G安卓核心板-MT6833/MT6853核心板规格参数
  • 信创之国产浪潮电脑+统信UOS操作系统体验4:visual studio code中怎么显示中文