五.OC基础--1.多态, 1. 多态概念,定义:多态就是某一类事物的多种形态: 表现形式: Animal *ani = [Dog new]; 多态条件:1.有继承关系 2.有方法的重写 2.多态代码实现: //实例化猫的对象 Animal *animal = [Cat new]; //父类的指针指向子类对象: [animal eat]; //实例化狗的对象 animal = [Dog new]; //父类的指针指向子类对象. [animal eat]; 3.多态注意点: 1) 如果存在多态,父…
在 JavaScript 里使用 typeof 来判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种.对于数组.对象来说,其关系错综复杂,使用 typeof 都会统一返回 “object” 字符串. 要想区别对象.数组单纯使用 typeof 是不行的.或者你会想到 instanceof 方法,例如下面这样: var a = {}; var b = []; var c = function () {}; //a…
id类型 SEL类型 *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; positio…
OC基础  文件管理 1.文件管理类NSFileManager对象的创建: NSFileManager *fm = [NSFileManager defaultManager]; 2.文件操作: (1)遍历查看目录下的文件: a.遍历查看目录下的文件:contentsOfDirectorAtPath:(NSString *)path error:(NSError **)error: b.深度遍历,子目录也遍历:subPathsOfDirectorAtPath:(NSString *)path e…
主要内容: 1.C++类继承中的构造函数和析构函数 2.C++多态性中的静态绑定和动态绑定 3.C++多态性中析构函数声明为虚函数 1.C++类继承中的构造函数和析构函数 在C++的类继承中, 建立对象时,首先调用基类的构造函数,然后在调用下一个派生类的构造函数,依次类推: 析构对象时,其顺序正好与构造相反: 具体参考文章:http://www.cnblogs.com/AndyJee/p/4575385.html 2.C++多态性中的静态绑定和动态绑定 对象的静态类型:对象在声明是采用的类型,在…
python基础——实例属性和类属性 由于Python是动态语言,根据类创建的实例可以任意绑定属性. 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(object): def __init__(self, name): self.name = name s = Student('Bob') s.score = 90 但是,如果Student类本身需要绑定一个属性呢?可以直接在class中定义属性,这种属性是类属性,归Student类所有: class St…
Object-C(以后简称OC)中有id类型,相对于明确定义类型的静态类型,称为动态类型. 使用动态类型,配合多态(不同类型拥有同名方法),动态绑定(运行时决定实际调用的方法)可以将很多判断延迟到运行时决定,比如运行时才决定对象是某个类型,决定调用哪个类型的方法等.这样提高了灵活性,但是同样带来了风险,所以和支持动态类型的其他面向对象的语言一样,需要提供机制来做运行时判断,这样可以一定程度规避运行时错误. 看到一个动态类型的实例对象,我们都会习惯提出的问题: 1. 这个对象是属于某个类么?或者这…
多态 允许不同的类定义相同的方法 动态类型 程序直到执行时才能确定所属的类 静态类型 将一个变量定义为特定类的对象时,使用的是静态形态 将一个变量定义为特定类的对象时,使用的是静态类型,在编译的时候就知道这个变量所属的类,这个变量总是存储特定类的对象.使用静态类型时,编译器尽可能的确保变量的用法在程序中始终保持一致,编译器能够通过检查来确定应用于对象的方法是由该类定义的或者由该类继承的,否则就会显示警告,静态类型能够更好地在程序编译阶段就指出错误.并且使用静态类型可以提高程序的可读性 简单来说:…
实用类:UtilityClass 包含如下方法 判断对象是否为空或NULL,如果是空或NULL返回true,否则返回false 验证手机号是否正确 13,15,18 验证邮箱 验证网址 MD5加密,返回32位的字符串 把字符串的第一个字符变为大写 判断一个字符串是否是时间 生成随机数方法 小于9位 检查某个文件是否存在于磁盘上,存在--true,不存在--false 转换相对路径为物理路径 截取字符枚举值 地址栏传值加密/解密 格式化要显示的内容,主要用于在网页上显示由textarea产生的内容…
1.ECMAScript5中有一个现成的方法:Array.isArray(). var obj = {1:[1],2:[2]}, arr = [1], str = "1"; Array.isArray(obj) // return false Array.isArray(arr) // return true Array.isArray(str) // return false 2.instanceofinstanceof操作符用于判断对象是不是类的实例.使用方法是object ins…