以图明志

数据结构

[专题] 队列的抽象数据类型ADT

定义我们需要实现的队列的操作
因为队列同样是线性表,所以队列也有类似线性表的各种操作,不同的就是插入数据只能在队尾进行,删除数据只能在队头进行。简单来说,队列就是后面装入数据,前面取出数据。用途:保障时间的顺序,比如用户事务操作。链队列:链式存储的队列,长度没限制啊。顺序队列:顺序存储的队列。

数据结构

[专题] 栈的抽象数据类型ADT

定义我们需要实现的栈的操作
对于栈来讲,理论上线性表的操作特性它都具备,可由于它的特殊性,所以针对它在操作上会有些变化。特别是插入和删除操作,我们改名为push和pop,英文直译的话是压和弹,更容易理解。你就把它当成是弹夹的子弹压入和弹出就好记忆了,我们一般叫进栈和出栈。

编程思想

向热爱计算机科学的你推荐SICP

《计算机程序的构造和解释》改变你的编程思维
通俗的说,这本书教你如何用最基本的构造和原则,解决复杂和多样的问题。用摄影打比方,这本书不比较尼康和佳能,不介绍繁杂的机型和参数,不介绍后期处理的技巧。这本书只讨论光线、色彩和构图,以及如何在不同场景拿捏这些基本原则组合出美妙的照片。

数据结构

[专题] 第七话:抽象数据类型ADT

数据组织更加灵活
抽象数据类型(Abstract Data Type, ADT) 是一个数据结构以及定义在该结构上的一组操作的总称。它是对数据类型的抽象,抽象的意义在于数据类型不是高级程序语言支持的基本数据类型,而是自定义的数据类型。抽象数据类型(ADT)的定义和实现通常是分开的。

面向对象技术

提高系统OOP抽象以应对复杂的需求

问题的规模逐渐增大需要我们提高抽象的层次
有人问我如何构建一个比较好的类阶层次,如何使用面向对象进行设计,或者问为什么我看了那么多面向对象和设计模式的书一到使用的时候却总是写出面向过程的代码。每当我碰到这些问题的时候我总是回答,其实我也不知道。真的,其实我也不知道。虽然我总是张口闭口面向对象,总是看到一个问题后就谈这个有点XXX模式的影子。

IT人家

如何才能避免沦为代码民工

工作在更高的抽象之上
“代码民工”即是指那些编写程序、敲打代码的底层程序开发人员,是IT行业中干得最多、干得最累、却挣得最少的那一群人。这其中可能有公司的原因,也可能有个人的原因,但我认为最根本的原因可能是技术的限制——技术的水平限制了程序员们的生产力。我们很多人都在重复的做很多的事情。这里说的重复是指宏观上的重复,比如很多做通信产品的公司,他们的程序员往往要实现很多相似甚至相同功能的基础模块。

PHP服务器脚本

关于PHP接口与抽象的理解

深入了解面向对象机制的这两个概念
今天有个小兄弟问我,php里面的接口类,抽象类到底有什么用呢,他完全不会用,觉得用也没有什么意思,其实和他的想法是一样的,在我才接触php的时候,也觉得这个东西没有什么用,在后来的逐渐接触大系统以后,才发现其实这些东西还是有一定的作用的,下面我就简单的说说。

互联网时代

软件的未来会是怎样?

抽象水平的不断提高
当今的软件密集型系统(software-intensive system)有一系列共同特征:它们通常都相当复杂、分散部署、并发协作,同时还在持续不断地演化。 不仅如此, 这类系统大多不是孤立的,系统之中嵌系统,单个系统不过是其中一个元素而已 。它们为与其他系统进行协作而存在,与之协作的系统往往由其他组织在不同时间开发,且以不同速率各自发生着变化。

PHP服务器脚本

[专题] PHP面向对象之旅:接口与抽象方法

接口是抽象方法和静态常量定义的集合
接口(interface)是抽象方法和静态常量定义的集合。 接口是一种特殊的抽象类,这种抽象类中只包含抽象方法和静态常量。 接口中没有其它类型的内容。 我们先写接口的定义,下面的例子是接口的一个简单写法。下面的例子定义了一个接口 User ,这个接口中有两个抽象方法,getName() 和 setName()。能看到接口的写法和类很相似。

PHP服务器脚本

[专题] PHP面向对象之旅:静态抽象方法

写一个静态抽象方法的示例程序
在PHP5.1中,抽象类中支持静态抽象方法。 下面这个例子,看到静态抽象方法可以声明。实现这个方法时,必须是静态的方法。在PHP5.2.0 的 更新信息中有这样一段话:因为疏漏,在PHP5.0 和 PHP5.1 的类中允许静态抽象方法。在PHP5.2中,只有接口可以拥有静态抽象方法。

PHP服务器脚本

[专题] PHP面向对象之旅:抽象类继承抽象类

可以理解为对抽象类的扩展
抽象类继承另外一个抽象类时,不用重写其中的抽象方法。抽象类中,不能重写抽象父类的抽象方法。这样的用法,可以理解为对抽象类的扩展。下面的例子,演示了一个抽象类继承自另外一个抽象类时,不需要重写其中的抽象方法。

PHP服务器脚本

[专题] PHP面向对象之旅:抽象方法

抽象方法没有函数体,采用分号结束
用abstract修饰的类表示这个方法是一个抽象方法。抽象方法,只有方法的声明部分,没有方法体。抽象方法没有 {} ,而采用; 结束。一个类中,只要有一个抽象方法,这个类必须被声明为抽象类。抽象方法在子类中必须被重写。

PHP服务器脚本

[专题] PHP面向对象之旅:抽象类

抽象类是面向对象的一个重要特性
用abstract修饰的类表示这个类是一个抽象类,用abstract修饰的方法表示这个方法是一个抽象方法。抽象类不能被实例化。抽象方法是只有方法声明,而没有方法的实现内容。用abstract修饰的类表示这个类是一个抽象类。抽象类不能被实例化。这是一个简单抽象的方法,如果它被直接实例化,系统会报错。

PHP服务器脚本

[专题] PHP内核探索:继承,多态与抽象类

继承是一种关联类的层次模型
继承是一种关联类的层次模型,它可以建立类之间的关系,并实现代码重用,方便系统扩展。 继承提供了一种明确表述共性的方法,是一个新类从现有的类中派生的过程。 继承产生的新类继承了原始类的特性,新类称为原始类的派生类(或子类), 而原始类称为新类的基类(或父类)。派生类可以从基类那里继承方法和变量。

JavaScript

[专题] JavaScript探秘:对象Object

js是一门高度抽象的面向对象语言
ECMAScript是一门高度抽象的面向对象(object-oriented)语言,用以处理Objects对象。当然,也有基本类型,但是必要时,也需要转换成object对象来用。首先我们要清楚,一个Object的prototype是一个内部的[[prototype]]属性的引用。

编程思想

提高编程技术的几个修炼方向

提升抽象层次有多种手段
编译技术一向被认为是软件开发这个以工程和实践为主的学科当中真正的"火箭科技"。一个程序员,当他掌握了基本的编程技能,并且具备一些实践经验以后,如果要求在编程技术上进一步深造,则无非有三个方向:其一是钻研高超的算法;其二是深入计算机和网络体系结构;其三则是提升编程的抽象层次。
1 / 2 首页 < Prev 1 2 Next > 尾页 页码: