1. 面向对象
它通过给程序中加入扩展语句,把函数“封装”进编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟。除非整个开发环境都是面向对象的,否则对象产生的好处还没有带来的麻烦多。
对象(Object)是问题域或实现域中某些事物的一个抽象,它反映此事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。 关于对象要从两方面理解:一方面指系统所要处理的现实世界中的对象;另一方面对象是计算机不直接处理的对象,而是处理相应的计算机表示,这种计算机表示也称为对象。简单的来说,一个人就是一个对象,一个尺子也可以说是个对象。
另: 面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。
2. 继承
1.好处:
1.抽取重复代码
2.建立类之间的关系
3.子类可以拥有父类中所有的成员变量和方法
2.坏处:
耦合性太强。
3.注意点:
1.父类必须声明在子类的前面。
2.子类不能拥有和父类相同的成员变量,会产生重复定义的 Error。但是子类可以拥有父类相同的属性,属性的重写问题。
3.调用某个方法时, 优先在当前类中找, 如果找不到就去父类中找。
4.基本上所有类的根类是NSObject。
4.继承的使用场合
1.当两个类拥有相同属性和方法的时候, 就可以将相同的东西抽取到一个父类中。
2.当A类完全拥有B类中的部分属性和方法时, 可以考虑让B类继承A类。
5.继承与组合的写法
// 继承:
A { int _age; int _no; }
B : A { int _weight; }
// 组合
A { int _age; int _no; }
B { A *_a; int _weight; }
网友评论