对象
一个对象反映了某一部分的真实存在,因此它是在时间和空间中的存在的某种东西,在软件中,“对象”这个术语首先正式出现在simula语言中,对象通常存在于simula程序中,用于模拟真实世界的某个方面。
建议使用的定义:一个对象是一个具有状态、行为和标识符的实体。结构和行为类似的对象定义在他们共同的类中。“实例”和“对象”这两个术语可以互换使用。
我的理解是一切可以想到实物都可做对象,对象可虚可实。与人的主观意识控制。
类
类的定义:类是一组对象,它们拥有共同的结构,共同的行为和共同的语义
一个对象就是类的一个实例。但一个对象不是一个类,
那什么不是一个类?没有共同结构和行为的对象不能够被划分为一类,因为根据定义,它们除了都是对象以外,没有共同点。
类是对象的模版。
类具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。
类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。
类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。
面向对象技术:
1 抽象
抽象是我们人类处理复杂性的基本方式,抽象来自于对真实世界中特定对象,场景或处理的相似性的认知,并关注这些相似性而忽略不同之处。Shaw将抽象定义为“对一个系统的简单的描述或指称,强调系统的某些细节或某些属性同时抑制另一些细节或属性。好的抽象强调了对读者或用户重要的细节。抑制了那些至少是暂时的非本质细节或枝节。
抽象的定义、抽象描述了一个对象的基本特征,于是将这个对象与所有其他类型的对象区分开来。因此提供了清晰定义的概念边界,它与观察者的视角有关。
抽象的分类:实体抽象,动作抽象,虚拟机抽象,偶然抽象。
抽象的思想核心是不变性的概念,不变量是某种布尔条件,它的值必须保持不变,对于对象了没,操作,我们可以定义前置条件和后置条件,违反一个不变量将破坏一个抽象相关的契约,如果违反了前置条件,这意味着,客户没有完成他那部分的责任因此,服务器不能可靠的执行,类似地,如果违反了后者条件,这意味着,服务器没有完成他大部分的责任,所以客户不再信任服务器的行为,出现异常,表明某个不变量没有满足或不能满足,某种语言允许对象抛出异常,这样就可以中止处理,对其他对象,报告问题然后,这些对象就可以捕捉异常并处理问题。
2封装
封装的定义。封装是一个过程,它分隔构成抽象的结构和行为的元素,封装的作用是,分离抽象的概念接口及其实现。
隐藏是一个相关的概念。在一个抽象层次隐藏的东西。在另一个抽象层次你里可能代表外部视图。内部的对象表示方法可能被揭示出来,但绝大多数的情况下,只有当这个抽象的创造者显示暴露出实现。
浙公网安备 33010602011771号