面向对象这个概念,每本书上的说法定义很多。

我自己根据我的经验,自己归档总结了下,

所谓面向对象,就是 以基于对象的思维去分析和解决问题,万物皆对象;

面向对象经常和面向过程放一起讨论;

这里举例,

比如要造一辆自行车,假如以面向过程的思维,张三先做轮子,

李四再做车架,王五再做链条,赵六再做脚踏板...最终拼拼凑凑,做出一辆勉强能骑的车;

但是,假如某个部件要调整下,其他部件要调整的东西太多了,有时候做不好还得重头开始做;

面向过程的缺点就是 扩展性 维护性差,但是也是有优点的,就是速度快;

假如以面向对象的思维造一辆自行车,说严谨点就是去设计一辆自行车;

我们首先要做的是分析一辆自行车所需要的部件,比如轮子,车架,链条,脚踏板等等;

然后分析和设计出每个部件的尺寸和用料;

然后是分配按照部件去实现,把每个部件分配给指定的人去做;

最后就是把所有已经完成的部件组装起来,就是一辆自行车;

这样做出来的自行车,维护性和扩展性都要比面向过程思维做出来的强;

唯一的缺点就是前期投入的时间长一点;

Java面向对象三大特性;

封装:我们可以类,类里有方法,属性,可以封装很多功能 仅仅对外暴露一些接口,来实现模块化,组建化,和安全性;

继承:Java中的类可以继承,类似子女可以继承父母的东西;来实现可扩展;

多态:Java中的父类接口可以指向子类实现的引用;这个我们后面通过实例详细讲解;

以后三个特性很重要,我们后续章节通过实例详解;

转载于:https://www.cnblogs.com/FrankLiner/p/7545861.html

转发萌新人鱼博客-Java面向对象-面向对象编程之基本概念相关推荐

  1. Java基础部分快速复习(以前复习的时候放在自己的新浪博客上)

    工作后Java基本没有用到,有时候自己也会把基础过一遍,下面的链接是以前重温的时候整理的Java基础最核心部分的知识点和代码示例放在自己的新浪博客上,如果以后有需要,直接从这里进入,可以快速复习,节省 ...

  2. 手把手教你做一个新浪博客发布软件JAVA版本(5)--打开博客发布页面并解析博客内容

            前言:很多人用新浪博客引流,但是以前可以用api发布,但是现在已经行不通了,市面上也有诸如新浪博客批量发布软件啦,新浪博客批量发帖啦,新浪博客发布软件啊等等的各种工具,但是小心中枪,一 ...

  3. 手把手教你做一个新浪博客发布软件JAVA版本(4)--打开博客发布页面

           前言:很多人用新浪博客引流,但是以前可以用api发布,但是现在已经行不通了,市面上也有诸如新浪博客批量发布软件啦,新浪博客批量发帖啦,新浪博客发布软件啊等等的各种工具,但是小心中枪,一不 ...

  4. 上车是看电影的第一动力,你们的点赞评论转发是我写博客的动力!

    <!DOCTYPE html> <html><head><meta charset="utf-8" /><title>艳 ...

  5. Action Golf 四个魔法球实战训练系列_huatuo_新浪博客

    Action & Golf 四个魔法球实战训练系列_huatuo_新浪博客

  6. 普度网络营销策划_普度网络营销策划-齐宁_新浪博客

    标签: 杂谈 自媒体的盛行,让我们知道了文案的重要性.一条好的文案,可以让你的广告如虎添翼.一篇好的内容可以瞬间刷爆朋友圈.今天我要总结的就是如何做一个打动人内心心智的好文案. 文案最主要的目的是让消 ...

  7. 黄聪:wordpress文章同步发布到网易、天涯、新浪博客、百度空间插件

    新浪博客,网易博客,百度空间,天涯博客都是权重很高的第三方博客平台.如果能保持更新,有助于提升主站权重.有了博客同步插件,直接在wordpress 后台设置一下,wordpress 自动把更新的日志同 ...

  8. [转载]Word直接发布新浪博客(以Word 2013为例)

    2019独角兽企业重金招聘Python工程师标准>>> 原文地址:Word直接发布新浪博客(以Word 2013为例) 作者:paulke2011 注意:这篇博客直接由Word 20 ...

  9. 新浪博客“网络繁忙请稍后再试”

    发博文提示网络繁忙请稍后再试 August 17 摘要:经常用新浪博客发博文的人应该会遇到一个问题,那就是有时会提示网络繁忙请稍后再试,同时连保存草稿也不行,这时候该怎么办呢? 方法/步骤 我们假定真 ...

最新文章

  1. Linux 之父归来!
  2. C#怎么通过一个按钮Button,实现点击这个按钮可以打开一个文件或者文件夹?
  3. Socket java.net.SocketException: Connection reset的解决方案
  4. python解释器是什么-python编译器和解释器的区别是什么
  5. Java NIO理解与使用
  6. 【算法数据结构Java实现】Java实现单链表
  7. PowerPoint出现“受保护的视图,Office已检测到该文件存在问题。编辑此文件可能会损坏您的计算机。”的提示
  8. Weka学习一(分类器算法)
  9. codeforces1438 E.Yurii Can Do Everything
  10. Java Servlet 编程,重定向介绍
  11. Nucleic Acids Research | NONCODE数据库V6版发布,涵盖全面的动植物长非编码RNA注释
  12. 解决PowerPoint英语课件配音难同步的问题
  13. 寒假训练营第四次作业
  14. 离线搭建安卓环境 adt
  15. c#“集合已修改;可能无法执行枚举操作”
  16. “完数”(C代码+流程图)
  17. 数字化时代的数据安全与治理
  18. ⊱人永远需要两种能力:好好说话和情绪稳定
  19. 【CSDN软件工程师能力认证学习精选】Python网络编程(socket编程)
  20. 针对前端初级学者,如何在windows下搭建react-native环境详细教程

热门文章

  1. boost::geometry::comparable_distance用法的测试程序
  2. GDCM:制作模板的测试程序
  3. boost::container模块实现显式实例表的测试程序
  4. DCMTK:验证服务类用户(C-ECHO操作)
  5. VTK:Utilities之ZBuffer
  6. VTK:PolyData之FieldData
  7. OpenGL简单镶嵌
  8. C++Jump Search跳转搜索的实现算法(附完整源码)
  9. C++打印STAIRS 图案算法(附完整源码)
  10. C++使用数组实现queue之一(附完整源码)