编程体系结构(06):Java面向对象

本文源码:GitHub·点这里 || GitEE·点这里 一、基础概念 1、面向对象概念 面向对象编程的主要思想是把构成问题的各个事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙一个事物在整个解决问题的步骤中的行为。 2、类和对象 对象:真实存在唯一的事物;在应用程序中对象是数据 ... »

关于面向过程和面向对象的理解

学习java基础时,看到了廖雪峰老师官网的面向对象的理解,突然混沌的脑子就清醒了 在我的理解,面向对象和面向过程首先都要定义一个目标,也就是大类;紧接着就开始细分过程和 对象。 首先,我想吃方便面。 1.从面向过程的角度来走: (1)做面或者已经用成型的干面。 (2)比如想吃红烧味的 那就得先炒酱。 ... »

【Python源码剖析】对象模型概述

Python 是一门 面向对象 语言,实现了一个完整的面向对象体系,简洁而优雅。与其他面向对象编程语言相比, Python 有自己独特的一面。 这让很多开发人员在学习 Python 时,多少有些无所适从。 那么,Python 对象模型都有哪些特色呢? ... »

面向对象之 开闭原则

我觉得开闭原则,就是对扩展开放对修改关闭,在我们写代码过程中,代码“写死”,就是因为没有遵循开闭原则来实现代码。就好比盖房子一样,地基就好比你的基础类,地基上面的房子就好比你的实现类,这时候房主说在房子上加一些修饰导致你必须修改地基,如果你去改变地基,你上面的房子都会受到影响,这时候你就会修补房子, ... »

做一个不复制粘贴的程序员[1]: 使用模板方法模式(2)- 对象更新比较器实例

在进入正题之前,说一些废话,谈谈对于我的前一篇文章被移出博客园首页的想法。不谈我对于其他首页文章的看法,光从我自身找找原因。下面分析下可能的原因: 1. 篇幅太短:我觉得篇幅不能决定文章的质量,要说清楚一个问题,肯定字数越少越好 2. 代码过多,文字太少:Talk is cheap. Show me ... »

做一个不复制粘贴的程序员[1]: 使用模板方法模式(1)- 分页查询实例

对于重复的代码,如果是重复的字符串,我们会想到提出一个变量。如果是重复的代码块,我们会想到提取出一个方法。 但如果这重复的代码块中有一处或几处是会变化的,那么就没那么容易提取出一个方法。说起来有点抽象,下面看一个例子。 一、分页查询 写过CRUD的同学肯定写过很多分页查询,分页查询的主要步骤是先校验 ... »

做一个不复制粘贴的程序员[0]: 概述

前言 Perl语言之父拉里·沃尔曾说过程序员有三大美德:懒惰、急躁、傲慢,很多程序员在平时工作中常常做很多重复的事情,写很多重复的代码,如果有懒惰的思想,就可以避免很多重复,从而提高开发效率,增加编程乐趣,我们需要的是一种智慧的懒惰。 举个生活中重复的例子,我们会关注一些大佬的博客,为了看他们有没有 ... »

Java 读写 excel 实战完全解析

本文微信公众号「AndroidTraveler」首发。 背景 时值毕业季,很多毕业生初入职场。 因此,这边也写了一些新手相关的 Android 技术点。 比如上一篇的 "Android 开发你需要了解的那些事" 就是列举了一些小点,避免新手 Android 开发者踩坑。 同时,也是恰逢暑假,因此大学 ... »

面向对象及命名空间

面向对象 类 类是相似功能的集合体 对象 对象是类中具体的个体体现 实例化一个对象发生了三件事 1. 在内存中创建一个对象空间 2. 自动执行 方法,并且将对象地址传给self 3. 执行 方法里面的代码,给对象空间封装其属性 self 位置参数,接收对象的地址 空间结构 对象查询属性:对象空间 类 ... »

从vue的组件传值着手浅谈观察者模式

首先,提到观察者模式,这不禁让我想到了MVVM,MVVM架构模式感觉用到了观察者的思想。 我们还是按照惯例,了解一下什么是观察者模式 观察者模式又叫发布订阅模式,(Publish/Subscribe),完成这个动作首先最少得有两个不同的对象,或者多个对象,他更像是一种一队多的依赖关系,也就是一种对象 ... »

Go语言中的代码重用 - 继承还是组合?

故事要从我在一个项目中,想要假装的专业一点而遇到的一个陷阱说起。 代码重用 在这个项目中,我们已经有了类似如下的代码: 然后我接到的新需求是这样的,我需要开发一种新的用户,它和当前这种用户有一些相同的行为。当然,最主要的是也有很多不同的行为。作为一名老司机,我当然知道,这些不同的地方才是我需要重点关 ... »

Go语言——没有对象的面向对象编程

本文译自Steve Francia在OSCON 2014的一个PPT,原作请前往: "https://spf13.com/presentation/go for object oriented programmers/" 对我来说,最吸引我的不是Go拥有的特征,而是那些被故意遗漏的特征。 —— tx ... »

2019 OO第一单元总结(表达式求导)

一. 基于度量的程序结构分析 1. 第一次作业 这次作业是我上手的第一个java程序,使用了4个类来实现功能。多项式采用两个arraylist来存,系数和幂指数一一对应。 四个类分别为 Poly类,代表表达式; PolyDiff类,代表求导运算; PolyParse类,封装了格式检查,encodin ... »

【我要学python】面向对象系统学习

python类包括变量[类变量,实例变量],方法[实例方法,类方法,静态方法],构造函数,面向对象讲究的是设计层面的玩意,该怎么定义方法,方法该放哪,都是一门艺术。 ... »

oo第一次博客--求导

OO 表达式求导 小结 第一部分 oo作业分析 1.类图 程序的大致结构如下: 2.性能分析 在第一次写的过程中,由于对java面向对象方式的不熟悉,导致有的类写的过长,processFirst1,findOperator函数复杂度过高,究其原因,是使用了较多的if判断语句,条件判断也过深。proc ... »

如何用面向对象思想编写代码

一、什么是面向对象 在用面向对象思想写代码之前,先了解一下什么是面向对象? 个人理解: 面向对象:把现实世界里的具体物体或者逻辑世界的逻辑物体,用抽象手段,把这些物体抽象成程序能够识别的类,使类具备物体的属性和行为,把物体与物体之间的关联转换成类与类之间的关联,用编程逻辑把这些关联表示出来设计成程序 ... »

基于面向对象思想封装一个水球插件

首先上图, 需要一个环形的水球,没错,我和大家想的一样,去把插件,可是没有一个满意的插件,败兴而归啊;自己动手实践;下面对于开发思路总结: 1.绘制图型需要canvas,canvas中我们需要绘制圆,裁切,绘制文字,进度绘制其实也是圆 2.html5元素canvas 3.是否需要其他的插件做为依赖, ... »

第7章 面向对象程序设计

第7章 面向对象程序设计 7.1 面向对象概述 面向对象(Object Oriented)的英文缩写是OO,它是一种设计思想。从20世纪60年代提出面向对象的概念到现在,它已经发展成为一种比较成熟的编辑思想,并且逐步成为目前软件开发领域的主流计技术。如我们经常听说的面向对象编程(Object Ori ... »