链滴
社区愿景和功能特性
优雅的 Markdown 所见即所得编辑
快捷键交互
随时自由编辑分享内容
支持注销账号来去自由
分布式社区网络
开放 API
产品
Symphony 社区系统(Java)
Solo 博客系统(Java)
Vditor 编辑器(TypeScript)
思源笔记(Electron、Go)
Pipe 博客平台(Vue、Go)
发展计划表
发展简史
榜单
GitHub 仓库排行
帖子打赏排行
Solo 博客端排行
积分排行
活跃度排行
贡献排行
本站基于开源项目 Sym
编程代码问答
登录
注册
首页
>
标签
第1章对象导论
9
引用 •
4
回帖 •
164
浏览
参与讨论
关注
关注
分享
Java编程思想
9
引用 •
4
回帖
Java
Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。
3187
引用 •
8213
回帖
默认
热议
好评
优选
最近回帖
关注者
查看所有标签
关于 SiYuan v3.1.12 后默认自动清理超过 180 天快照的调查
目前思源加入了自动的快照清理功能,触发时机如下: 手动触发同步 每 24 小时执行一次 默认的配置是保留 180 天内的快照,每天保留两份。 在启动、退出时的同步不会触发,但是 30s 的自动同步会触发。 我个人不喜欢这个设计,因此以下的描述可能会有偏颇。不喜欢的原因如下: 清理功能是自动的且没有开关默认开启,这导致假 ..
400
10 小时前
1.11异常处理:处理错误
自从编程语言问世以来,错误处理就始终是最困难的问题之一。因为设计一个良好的错误处理机制非常困难,所以许多语言直接略去这个问题,将其交给程序库设计者处理,而这些设计者也只是提出了一些不彻底的方法,这些方法可用于许多很容易就可以绕过此问题的场合,而且其解决方式通常也只是忽略此问题。大多数错误处理机制的主要问题在于,它们都依 ..
149
9 年前
1.10对象的创建和生命周期
在使用对象时,最关键的问题之一便是它们的生成和销毁的方式。每个对象为了生存都需要资源,尤其是内存。当我们不再需要一个对象时,它必须被清理掉,使其占有的资源可以被释放和重用。在相对简单的编程情况下,怎么清理对象似乎不是什么挑战:你创建了对象,根据需要使用它,然后它应该被销毁。然而,你很可能会遇到相对复杂的情况。 例如,假 ..
254
9 年前
1.9容器
通常来说,如果不知道在解决某个特定问题需要多少对象或者他们将存活多久时,那么就不可能知道如何存储这些对象。如何才能知道需要多少空间来创建这些对象呢?答案是你不可能知道(老外真会玩),因为这类信息只有在运行时才能获得。 对于面向对象程序设计中的大多数问题而言,这个问题的解决方案似乎过于轻率:创建另一种对象类型。这种新的对 ..
119
9 年前
1.8单根继承结构
在OOP中,自从C++面世以来就已变得非常瞩目的一个问题就是,是否所有的类最终都继承自单一的基类。在Java中(事实上包括除C++以外的所有OOP语言),但答案是yes,这个最终基类的名字就是Object。事实证明,单根继承带来了很多好处。 在单根继承结构中所有的对象都具有一个共用接口,所以他们归根到底都是相同的基本类 ..
163
9 年前
1.6继承
对象这种观念,本身就是十分方便的工具,使得你可以通过概念将数据和功能封装到一起,因此可以对问题空间的观念给出恰当的表示,而不用受制于必须使用底层机器语言。这些概念都是使用关键字class来表示,它们形成了编程语言中的基本单位。 遗憾的是,这样做还是有很多麻烦:在创建一个类后,即使另一个新类与其具有相似的功能,你还是得创 ..
207
9 年前
1.5复用的具体实现
一旦类被创建并被测试完,那么他就应该代表一个有用的代码单元。事实证明,这种复用性并不容易达到我们所希望的那种程度,产生一个客服用的对象设计需要丰富的经验和敏锐的洞察力。但是一旦你有了这样的设计,它就可供复用。代码复用是面向对象程序设计语言所提供的最了不起的优点之一。 最简单的复用某个类的方式就是直接使用该类的一个对象, ..
139
9 年前
1.3每个对象都提供服务
当正在试图开发或理解一个程序设计时,最好的方法之一就是将对象想象为“服务提供者”,程序本身将向用户提供服务,他通过调用其他对象提供的服务来实现这一目的。你的目标就是去创建(或者最好是在现有的代码库中寻找)能够提供理想的服务来解决问题的一系列对象。 着手从事这件事的方式就是问一下自己:“如果我可以将问题从表象中抽取出来, ..
181
9 年前
1.2每个对象都是一个接口
亚里士多德大概是第一个深入研究类型(type)的哲学家,他曾提出过鱼类和鸟类这样的概念。所有的对象都是唯一的,但同时也是具有相同特征和行为的对象所归属的一部分。这种思想直接被应用于第一个面向对象语言Simula-67,它在程序中使用基本的关键字class来引入新的类型。 Simula,就像其名字一样,是为了开发诸如经典 ..
344
9 年前
1.1抽象过程
所有编程语言都提供抽象机制。可以认为,人们所能够解决的问题的复杂性直接取决于抽象的类型和质量。所谓的“类型”是指”所抽象的是什么“。汇编语言是对底层机器的轻微抽象(这种程度的抽象可以想象当时的汇编程序员编程有点难)。然后出现C、BASIC、FORTRAN等对汇编语言的抽象。虽然它们对汇编语言有了比较高程度的抽象,但是这 ..
271
9 年前