2014-03-31 jude
width属性不可继承,默认值是auto。 元素的width属性值为percentage时,width是根据其包含块的width计算的,如果其包含块的width反而是根据此元素的width计算出来的,这种情况CSS2.1未定义。 元素的width属性值为inherit时(inherit可用于那些不可继承的属性上),其继承的是父元素width属性的声明值(specified value)。 继续阅读 »
2017-01-03 Lanffy
PHP
从PHP的5.4.0版本开始,PHP提供了一种全新的代码复用的概念,那就是Trait。Trait其字面意思是"特性"、"特点",我们可以理解为,使用Trait关键字,可以为PHP中的类添加新的特性。 熟悉面向对象的都知道,软件开发中常用的代码复用有继承和多态两种方式。在PHP中,只能实现单继承。而Trait则避免了这点。下面通过简单的额例子来进行对比说明。 继续阅读 »
2017-06-28 Eric Wang
RAMDirectory和FSDirectory都继承自BaseDirectory,而BaseDirectory继承自Directory,Directory是Lucene中设计的一个顶层抽象类,可以将其看做本地文件系统的一个目录。 RAMDirectory是基于内存实现的,具有较高的存储速度,但是受到内存大小的限制,而FSDirectory是基于文件系统实现的,针对不同的操作系统有不同的具体实现类,这些实现类无需用户操心,只需要调用FSDirectory.open(Path path)方法,它就会帮助我们选择最适合的子类,FSDirectory的瓶颈在于磁盘I/O。 如果机器内存足够大的话,那么组合使用RAMDirectory和 继续阅读 »
2016-11-26 Jamling
做Android 5年多了,第一次在Fragment中使用WebView,先将Activity中的代码复制过来改改,没有想到,竟然无法正常显示,而是打开手机浏览器渲染WebView,返回后,Fragment一片空白。这还能忍受?Google一把,说是要继承WebViewFragment,但是一旦继承,就破坏了我的框架结构。然后看了下WebViewFragment的源码,并不复杂。所以就将相关的源码合并到现有的fragment中,本以为可以妥妥地解决问题,结果还是那样。最后在stackoverflow上解决了终极解决办法,那就是需要设置特殊的WebViewClient。 java private class H5WebVie 继续阅读 »
2017-08-17 ruki
此版本主要修复一些稳定性问题。 更多使用说明,请阅读:文档手册。 项目源码:Github, Gitee. 改进 改进add_files,支持对files粒度进行编译选项的各种配置,更加灵活。 从依赖的target和option中继承links和linkdirs。 改进target.add_deps接口,添加继承配置,允许手动禁止依赖继承,例如:add_deps("test", {inherit = false}) 移除tbox.pkg二进制依赖,直接集成tbox源码进行编译 Bugs修复 修复目标级联依赖问题 修复target:add和option:add问题 修复在archlinux上的编译和安装问题 修复/ZI的兼容性 继续阅读 »
2016-10-13 曹强
php
Introduction 在[PHP设计模式(四):继承][2]中我们介绍了继承,利用extends来进行程序设计的方法。 在[PHP设计模式(二):抽象类和接口][3]中我们介绍了接口,事实上也存在利用interface的程序设计方法,那就是多态。 和C/C++,Java,Python等语言一样,PHP也支持多态。多态更多是是一种面向对象程序设计的概念,让同一类对象执行同一个接口,但却实现不同的逻辑功能 。 多态/Polymorphism 还是用动物、鲸鱼和鲤鱼来举例: interface IEat { function eatFish(); function eatMoss(); } class Wha 继续阅读 »
2014-04-25 Xiaosong Gao
说明 类别名可以随便取。 类别是一个类,它是添加了新功能的现有类。 使用类别就是为了能够为现有类添加新的方法,不用继承该现有类,就可使用现有类的对象调用添加的方法了。 类别可以使类的实现分散在多个文件中。 类别中不能有变量,类别中没有放变量的位置。 如果类中的方法和类别中的方法名称相同,这将造成冲突,类别的方法将完全取代类的方法。 同一个类的不同类别声明了相同的方法,这将导致不稳定,哪个方法会被调用是不确定的。 不建议在类别中覆盖类中的方法,因为在类别中的方法不能调用superClass的方法(因为没有元数据支持)。 类别方法不能覆盖于同一个类的其它类别中的方法。因为无法预知他们的加载优先顺序,就可能在编译时出错。 对类库的类别方 继续阅读 »
2014-06-21 W.Y.
此文译自 Dmitry A. Soshnikov 的 ECMA-262-3 in detail. Chapter 7.1. OOP: The general theory. 概述 本文主要讨论 ECMAScript 中面向对象编程。之前已经有大量的文章讨论过该话题了,但本文与那些文章不同,本文主要从理论方面来解析其内部原理。重点讨论对象创建算法,对象之间的关系(包含最基本的关系 -- 继承)是如何形成的,并给出了明确的定义(我希望这可以消除一些文章中对于 JavaScript 中 OOP 的疑虑和混乱)。 more 概论、范式和思想 在开始讨论之前,有必要掌握一些 OOP 的基本特征,并弄清楚一些基本概念。 ECMAScr 继续阅读 »
2016-09-12 徐哲
1.Java与C++的异同 Java解释性语言:源代码-编译器(字节码)-JVM执行 C/C++编译型语言:编译链接成二进制代码 Java不存在全局变量,全局函数,没有指针,不支持多重继承,不支持运算符重载,没有预处理器,不提供goto语句(但保留关键字),不支持自动强制类型转换,必须显式强制类型转换。 Java为纯面向对象语言,所有代码包括函数,变量等都属于类 继续阅读 »
2016-08-24 craneyuan
Java访问修饰符 |访问修饰符|作用范围| |---|---| |public| 完全开发| |private|只能本类访问| |protected|同包及子类访问| |default(无修饰符时)|同包访问| Java用于类的修饰符(2个)和限定符(2个) |访问修饰符|作用范围| |---|---| |public| 完全开发| |default(无) |同包访问| 注意:内部类可以拥有更多的访问修饰符 more |限定符|描述| |---|---| |abstract|指定为抽象类| |final|指定为最终类,不可被继承| Java用于成员变量的修饰符 public protected private 继续阅读 »