本人水平有限,创作本文是为了记录学习和帮助初学者学习,欢迎指正和补充

一.面向对象编程的设计概述

很多同学都在学校学了电脑的编程,现在的书籍大部分都是oop面向对象编程,一个很抽象的的名字,比较难以理解,首先我们从名字开始入手 (老实说我和大家一样,开始的时候也是比较难以理解)

OOP的全称是:Object Orient Programming (Object:对象  Orient:指定方向  Programming: 编程)

所以面向对象编程可以说就是对英文的直译过来的,我们来初步认识下:

  1.首先看Object对象,首先想想什么是对象,我看着你,你对我来说就是对象,我对于你来说也是对象,电脑是对象,喝水的水杯是对象,书包也是对象,简单来说对自己能清楚描述的一个具体的形象就可以称为对象,这个对象你很清楚的分别到底是什么就可以理解是对象了,虽然有点拗口 但别放弃看下去,我会尽力说的清楚的。

  2.接下来我们看看 Orient :指定方向  ,这个最重要的说明就是指定,因为你看到的某个对象就是你自己给自己指定的方向的对象,稍微理解前面的话,大概就能说明什么是面向对象了(现在估计你还是比较含糊,别担心,往下看)。

  3.最后编程Programming这个就不用我说了。

    我以个人理解大概解释了面向对象编程的表面意思,为什么说是表面意思,因为说了这么多,你们还是不知道怎么写代码,哈。

 1.前面说了这么多,但为什么要进行面向对象编程设计?面向对象的优点在哪呢?

  说到这里我就不得不说下早期编程了,不知道现在看这篇文章的你是否写过c语言,写过的话其实就很能理解,c语言中从一个Mian函数中开始从头写到尾直到程序编完,虽然中间夹杂着各个方法,但程序的结构就是由上到下,写下来思路清晰一气呵成,自我感觉完美,但这时如果需求变了需要改变一个功能,这时看着这2万行代码是不是有点头大,有一种牵一发而动全身的感觉,虽然有大神可以写的很完美,但还是有面临这个状况的时候,偶尔会引出奇怪的bug,因为c语言是面向过程的语言。

  传统的结构化程序设计是通过设计一系列的过程来解决问题,这个过程也就是算法了,一旦确定了这些过程,就要开始考虑存储数据的方式。这就是Pascal语言的设计者Niklaus Wirth 将其著作命名为《算法+数据结构=程序》的原因,需要注意的是,在Wirth命名的书名中,算法是第一位的,数据结构是第二位的,这就明确的表述了程序员的工作方式。首先要确定如何操作数据,然后再决定如何组织数据,以便数据操作。而OOP却调换了这个次序,将数据放在第一位,然后再考虑操作数据的算法。

---摘抄《Java核心技术 卷1 基础知识》

  上面的语言说的很明白,很有水平,清楚的说明了传统编程和OOP编程的区别,但没有说为什么要进行面向对象编程,接下来我就用没有什么水平但很通俗的话来说明一下。首先我在前面说了什么是对象,对对象进行了一系列自我意识的解释,如果你看了上面的话那么就能更好的理解我下面的说明了,现在开始说明比如说一个汽车对象,我们看到它,请问你自己为什么判断它是一辆汽车?如果说你见过所以知道,那么新出的车,你第一眼看到的时候为什么就能判断它是一辆车?因为什么?因为它有四个轮子可以载人在马路上跑,有车窗有车门等等,有了这些判断是不是大概就能判断这是不是一辆汽车了?是的,你有了这些判断,就可以判断一个对象是什么,所以这里就体现出了面向对象的优点,一眼就知道这个对象要干什么能干什么,很清楚很明朗,程序这么设计的话条理会很清晰,而且你想想上面说的C语言改功能的需求,如果你的程序中有好多对象,汽车对象,水杯对象,电脑对象...这时需求要求改一下汽车车身颜色,这时你只要在代码中找到汽车对象进行更改就ok了,是不是很简单,也不会引起bug的产生。如果你认真看了上文现在你理解的应该更深入了一点,但还是不知道怎么写代码,别急,要想写代码还缺一个东西,这个东西就是类(class)。

  2.类(Class)

 下次再写吧~

Java学习之路 第四篇 oop和class (面向对象和类)的更多相关文章

  1. Java学习之路【第一篇】:前言

    Java 语言概述 一.什么是Java语言 Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言.所谓编程语言,是计算机的语言,人们 ...

  2. Vue学习之路第四篇:v-html指令

    上一篇我们讲解了两种方式,把Vue对象的数据展示在页面上: 1.插值表达式 2.v-text指令 但是如果我们展示的数据包含元素标签或者样式,我们想展示标签或样式所定义的属性作用,该怎么进行渲染,比如 ...

  3. python学习之路网络编程篇(第四篇)

    python学习之路网络编程篇(第四篇) 内容待补充

  4. [转帖]java架构之路-(面试篇)JVM虚拟机面试大全

    java架构之路-(面试篇)JVM虚拟机面试大全 https://www.cnblogs.com/cxiaocai/p/11634918.html   下文连接比较多啊,都是我过整理的博客,很多答案都 ...

  5. 新篇章之我的java学习之路下

    昨天写下了人生的第一篇博客,今天接着写我的java学习之路有关开发及框架的学习过程. 想要学好java语言,只学习一些java的基本语法对实际开发中的用处还是不大的,所以我们还要掌握一些有关javaW ...

  6. java学习之路之javaSE基础1

    <h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用 ...

  7. Java学习之路(转)

    Java学习之路(书籍推荐)   一.基础类 1.<Thinking in java>(阅读2遍),入门第一位是建立正确的概念 2.<Core Java>这本书更贴近实践,更多 ...

  8. JAVA学习之路与大家分享

    这是我四年以前总结的JAVA学习之路,希望对初学者或想从事JAVA开发的人有帮助. 本人是软件工程专业出身,先后学过C.C++.JAVA.VB.delphi等等开发语言以及网络相关管理技术.哎,好久不 ...

  9. OpenGL学习之路(四)

    1 引子 上次读书笔记主要是学习了应用三维坐标变换矩阵对二维的图形进行变换,并附带介绍了GLSL语言的编译.链接相关的知识,之后介绍了GLSL中变量的修饰符,着重介绍了uniform修饰符,来向着色器 ...

随机推荐

  1. poj 3261 Milk Patterns 后缀数组 + 二分

    题目链接 题目描述 给定一个字符串,求至少出现 \(k\) 次的最长重复子串,这 \(k\) 个子串可以重叠. 思路 二分 子串长度,据其将 \(h\) 数组 分组,判断是否存在一组其大小 \(\ge ...

  2. 【Android】SQLite基本用法(转)

    在Android开发中SQLite起着很重要的作用,网上SQLite的教程有很多很多,不过那些教程大多数都讲得不是很全面.本人总结了一些SQLite的常用的方法,借着论坛的大赛,跟大家分享分享的.一. ...

  3. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---25

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  4. Android开发基础(java)14

    Java语言与其他编程语言的最大不同之处在于:java有专门的异常处理机制,实现对各类异常情况进行有效控制. 一.基本概念:异常和错误的区别与联系: (1).定义形式不同:异常为exception:错 ...

  5. MOSFET 符號解說

    符號 上面這個是 空乏型 的 MOSFET 符號 (有做過修改), 一個是 P channel, 一個是 N channel, 空乏型本身就有通道,所以中間是沒有斷掉的直線, P 代表 + , 有外放 ...

  6. Codeforces 899 C.Dividing the numbers-规律

      C. Dividing the numbers   time limit per test 1 second memory limit per test 256 megabytes input s ...

  7. [SPOJ7001]VLATTICE - Visible Lattice Points

    题目大意: $q(q\leq50)$组询问,对于给定的$n(n\leq10^7)$,求$\displaystyle\sum_{i=0}^n\sum_{j=0}^n\sum_{k=0}^n[\gcd(i ...

  8. iOS UI Element Usage

    Bars The Status Bar

  9. 【转】.net 经典面试题

    [转].net 经典面试题  1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问.  ...

  10. Dedecms文章内容页和图片集内容页,调用缩略图的方法

    文章内容页缩略图的调用,图片集内容页缩略图的调用,相信大家都想找这个,对于初学者来说,一大福音> 文章内容页和图片集内容页,缩略图的调用.适合内页中调用. 1 <img src=" ...