iOS 基础 第二天(0805)

0805

面向对象三大特性
  • 封装、继承和多态

oc的方法都是在运行过程中才会检测的。编译时方法没实现只会出现警告,运行时出错.如果方法实现了但没有声明,运行时对象仍然可以调用方法不会出错。这是OC中弱语法的表现
  • 说白了oc中的弱语法就是因为运行时检测合理性和可用性。编译时不会出错顶多是警告,运行时才警告。这个现象不仅仅体验在方法的声明和实现上,比较好的一个例子是MPMoviePlayerController的截屏通知事件,它需要传入float类型的数组,如果你在编译写了整型不会报错也不会警告,但一运行截屏应用就会崩溃.就是因为传入的数据元素类型是在运行时检测的,即弱语法。 另一个例子,在多态使用中,都是父类指针指向子类对象,但弱语法的存在我们也可以写子类指针指向父类对象,此时编译器只会警告不会报错.甚至任意一个类型的指针都可以指向任意一个对象.

继承
  • 子类不能拥有和父类相同名称的成员变量,不然报错 @synthysize
  • 子类的方法名可以和父类的一样

多态,即多种形态.父类指针指向子类对象就是多态

NSString.打印oc的字符串用的是%@,打印c语言的字符串用的是%s

原文地址:https://www.cnblogs.com/lyandy/p/5116798.html