最新 | 最热门 | 最高评价

+0  多重继承的演变

Tag: Programming Paradigm | Recommended | C++ | Go | Java | JavaScript | Ruby | Scala | 多重继承 | 接口 | 继承
四火 发于 2014年03月19日 14:45 | 点击: 2245 | 展开摘要
本来想告一段落别写编程范型的东西,但是这个话题最近发现很有意思,就拣出来唠一唠。从中除了能看出很多有趣的语言特性,观察不同语言的设计,还可以发现程序语言的发展过程。这里谈到的语言特性,都是从C++的多重继承演变而来的,都没法完整地实现和代替多重继承本身,但是有了改进和变通,大部分功能保留了下来,又避免了多重继承本身的问题。

C++的多重继承

这个问题我觉得需要从老祖宗C++谈起,我记得刚开始学C++的时候老师就反复教育我们,多重继承的问题。比如说二义性问题,也就是说,两个

查看全文: http://www.udpwork.com/item/11974.html

+0  JavaScript 类/函数继承最佳实践

Tag: Web | JavaScript | JavaScript继承
ideawu 发于 2013年06月04日 11:05 | 点击: 1901 | 展开摘要
JavaScript 没有像 Java 等面向对象语言的 class 关键字用法, 和 class 最像的就是 function 了. 下面的代码相当于在 JavaScript 中定义了一个类:

function Base(arg){
var self = this;
self.base = 1;
self.name = 'base';
}

如果想新定义一个类 Child 继承 Base, 怎么办? JavaScript 又没有 extends.

查看全文: http://www.udpwork.com/item/9969.html

+0  走出“最小公开化”的误区

Tag: Java | 语言 | 可见度 | 继承 | 设计思想 | 面向对象
雨水无香 发于 2010年08月18日 00:54 | 点击: 1999 | 展开摘要
记得刚接触面向对象的程序设计时,就知道了这样一个原则,就是类的成员最小公开化。由于当时做的基本是特定开发,再加上各种教程的“误导”,所以想当然的认为能private的绝不friendly,能friendly的绝不protected。当然,其实protected都很少会用,大部分时候都是public或者是private的。然而最近在做写终搜新版本以及看一些经典开源代码时,发现其实很多时候都是protected或者friendly的,并不是清一色的private,这不得不让我思考

查看全文: http://www.udpwork.com/item/2410.html

+0  闲扯Java面向对象

Tag: Java | 开发技术 | 架构 | 语言 | Scala | 多重继承 | 抽象类 | 接口 | 特征
雨水无香 发于 2010年08月17日 15:20 | 点击: 2274 | 展开摘要
继承和多态可以算是面向对象设计的两个最基本的概念了,而这两种技术的实现离不开接口和抽象类。曾经面试的时候被问过这样一个问题,就是Java的接口和抽象类有什么区别。不想谈太多语法上的区别,只想说说它们语义上的区别。接口,是用来描述类的抽象行为的;而抽象类更多是描述一个物种的某些共同属性的。从这个意义上讲,一个具体的事物是不可能既属于A物种又属于B物种的,所以Java中不允许多重继承,但是因为即便是不同物种也可以拥有相同行为,因此从接口上可以“多重实现”,但是因为物种不同,所以这

查看全文: http://www.udpwork.com/item/2405.html
|<<<1>>>| 一共1页, 4条记录