面向过程和面向对象
面向过程是祈使句,面向对象是主谓(宾)结构。
面向过程注重数据的存储和操作,面向对象注重用程序模拟生活逻辑。
面向过程数据和操作数据的过程是分离的,没有逻辑上的必然联系;面向对象中数据和操作数据的方法是逻辑上的整体,称之为对象。
面向对象的基本概念
对象:现实世界中的对象是我们认识世界的基本单元,世界就是由这些基本单元组成的。一切皆为对象;每个对象都是独一无二的;对象都有属性和行为;对象都属于某个类。
类:类是对一组具有共同属性和行为的对象的抽象,它是对象的蓝图和模板。
消息:对象与对象之间存在着一定的联系,这种联系通过消息的传递来实现。程序中的一切操作都通过向对象发送消息来实现,对象接收到消息后,
继续阅读 »
面向对象编程(Object Oriented Programming简称OOP)是一种计算机编程架构,程序开发方法的实践。面向对象将对象作为程序的基本单位,程序和数据封装于其中。两个基础的概念是类与对象,类与对象的关系是模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。类描述了一组有相同特性(属性)和相同行为(方法)的对象。
面向对象的实现了三个目标,重用性、灵活性和扩展性,使系统的各个部分分工明确。使编程的代码更简洁、更易于维护。
三个基本特征
面向对象编程,有三个基本的特征:封装,继承,多态。
- 封装隐藏实现的细节,代码模块化。
- 继承扩展已存在的代码模块。
封装和继承实现了代码的重用。
- 多态在
继续阅读 »
在面向对象程序设计中,工厂通常是一个用来创建其他对象的对象。工厂是构造方法的抽象,用来实现不同的分配方案。
工厂对象通常包含一个或多个方法,用来创建这个工厂所能创建的各种类型的对象。这些方法可能接收参数,用来指定对象创建的方式,最后返回创建的对象。
有时,特定类型对象的控制过程比简单地创建一个对象更复杂。在这种情况下,工厂对象就派上用场了。工厂对象可能会动态地创建产品对象的类,或者从对象池中返回一个对象,或者对所创建的对象进行复杂的配置,或者应用其他的操作。
这些类型的对象很有用。几个不同的设计模式都应用了工厂的概念,并可以使用在很多语言中。例如,在《设计模式》一书中,像工厂方法模式、抽象工厂模式、生成器模式,甚至是单例模式都应用了
继续阅读 »
一、技术概览
1、Core Data功能初窥
对于处理诸如对象生命周期管理、对象图管理等日常任务,Core Data框架提供了广泛且自动化的解决方案。它有以下特性。
对象图-Object Graph的解释:在面向对象编程中,对象之间有各种关系,例如对象直接引用另外的对象,或是通过引用链间接的引用其他对象,这些关系组成了网状的结构。我们把这些对象(和它们之间的联系)成为对象图。对象图可大可小,有繁有简。只包含单个字符串对象的数组就是一个简单的代表;而包含了application对象,引用windows、menus和相关视图对象、其他对象这样的结构就是复杂对象图的例子,这是在说mainwindow.xib。
继续阅读 »
创建对象
工厂模式
工厂模式优点:有了封装的概念,解决了创建多个相似对象的问题
缺点:没有解决对象识别问题,所有对象都仅是Object的实例
```
function createPerson(name,age,job)
{
var o=new Object();
o.name=name;
o.age=age;
o.job=job;
o.sayName=function(){
alert(this.name);
};
return o;
}
var person1=createPerson("Jack",29,"Engineer");
//检测对象类型
继续阅读 »
组合模式
组合模式将对象组合成树形结构,以表示“部分-整体”的层次结构。除了用来表示树形结构之外,组合模式的另一个好处是通过对象的多态性表现,使得用户对单个对象和组合对象的使用具有一致性。
请求在树中传递的过程
在组合模式中,请求在树中传递的过程总是遵循一种逻辑。
请求从树的最顶端的对象往下传递,如果当前处理请求的对象是叶对象,叶对象自身会对请求做相互相应的处理;如果当前处理请求对象是组合对象,组合对象则会遍历它下面的节点,将请求继续传递。
总之,组合对象的请求是从上到下沿着树传递,直到树的尽头。作为客户,只要关心树最顶层的组合对象,客户只需要请求这个组合对象,请求便会向下延续。
现在,假设一个需求,我们需要一个超级
继续阅读 »
Python的"类型-对象"体系实现的简洁而优雅,"元类"-"类"-"实例对象"自上而下,层次分明。
以下是关键的几个点:
1.一切(函数,类等)皆对象(object)
2.变量名只是对象的引用
3.object类是所有类(对象)的最终父类,但object不是任何类的子类,这是对1的解释
4.type既是object类的实例,也是object类的子类
5.object作为一个类对象,她的类也是type
6.object和type是鸡和蛋的关系
7.type很重要,在整个体系中,真正干活的就是type
8.元类就是类(一切皆对象)的类
9.1)type负责生成'类'(对象),是最终元类(调用:type(class_n
继续阅读 »
什么是对象序列化和对象反序列化
序列化是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。对象序列化和反序列化的过程就是将对象写入字节流和从字节流中读取对象的过程。将对象状态转换成字节流后,可以用java.io包中的各种I/O流类将其保存到文件中,或者应用NIO技术将其传输到另一线程中或通过网络连接将对象数据发送到另一主机。对象序列化功能非常强大,在RMI、Socket、JMS和EJB中都有应用。
继续阅读 »
content
{:toc}
本文为慕课网 JavaScript深入浅出 JavaScript 面向对象笔记。
概念
面向对象程序设计(Object-oriented programming,OOP)是一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。
——维基百科
继续阅读 »
前言
在经典的面相对象语言编程中,Constructor是一种在内存已分配给该对象的情况下,用于初始化新创建对象的特殊方法。在Javascript中,几乎所有东西都是对象,我们通常最感兴趣的是object构造器。
object构造器用于创建特定类型的对象——准备好对象以备使用,同时接收构造器可以使用的参数,以在第一次创建对象时,设置成员属性和方法的值。
more
基本Constructor
Javascript虽然不支持类的概念,但它确实支持与对象一起用的特殊constructor函数,通过在构造器前面加new关键字,告诉Javascript像使用构造器一样实例化一个新对象,并且对象成员由该函数定义。
在构造器内,th
继续阅读 »