哪些运动裤比知乎强?
①一般-具体结构称为分类结构,也可以说是“或”关系或“是一个”关系。
②整体部分结构称为装配结构,它们之间的关系是一个and关系或a有a关系。
(3)对象
对象是人们想要研究的任何东西,从最简单的整数到复杂的飞机。它不仅可以表示具体的事物,也可以表示抽象的规则、计划或事件。
(4)对象的状态和行为
对象有一个状态,对象用数据值描述它的状态。
对象也有改变对象状态的操作,对象及其操作就是对象的行为。
对象实现了数据和操作的结合,使数据和操作封装在对象的统一体中。
(5)信息和方法
对象之间的通信结构称为消息。在对象的操作中,当一个消息被发送给一个对象时,该消息包含接收对象将执行某种操作的信息。发送消息至少应该包括接受消息的对象名和发送给对象的消息名(即对象名和方法名)。通常,有必要解释参数,参数可以是知道消息的对象已知的变量名,也可以是所有对象已知的全局变量名。
特性
(1)对象唯一性
每个对象都有自己唯一的标识,通过标识可以找到对应的对象。在一个物体的整个生命周期中,它的标志不会改变,不同的物体不能有相同的标志。
(2)分类
分类是指将数据结构(属性)和行为(操作)一致的对象抽象成类。类就是这样一种抽象,它反映了与应用程序相关的重要属性,而忽略了其他不相关的内容。任何一个类的划分都是主观的,但是一定要和具体的应用相关。
(3)继承
继承是子类自动共享父类的数据结构和方法的机制,是类之间的关系。在定义和实现一个类的时候,可以在一个已有类的基础上进行,把这个已有类定义的内容作为自己的内容,加入一些新的内容。
继承是面向对象编程语言区别于其他语言的最重要的特点,这是其他语言所不具备的。
在类层次结构中,子类只继承一个父类的数据结构和方法,称为单一继承。
在类层次结构中,子类继承多个父类的数据结构和方法,称为多重继承。
在软件开发中,类的继承使得已建立的软件具有开放性和可扩展性,是一种有效的信息组织和分类方法。它简化了创建对象和类的工作量,增加了代码的可重复性。
通过采用继承,提供了类规范的层次结构。通过类的继承关系,可以共享共同的特性,提高软件的可重用性。
(4)多态性(Polymorphism)
多态性意味着相同的操作或功能或过程可以作用于许多类型的对象,并得到不同的结果。不同的对象收到相同的消息时会产生不同的结果。这种现象被称为多态性。
多态允许每个对象以自己的方式响应相同的消息。
多态增强了软件的灵活性和可重用性。
要素
(1)摘要
抽象就是强调实体的本质和固有属性。在系统开发中,抽象是指在决定如何实现对象之前,对象的意义和行为。使用抽象可以避免过早考虑一些细节。
类实现了对象的数据(即状态)和行为的抽象。
(2)封装(信息隐藏)
封装是确保软件组件良好模块化的基础。
面向对象的类是一个包装良好的模块。类定义明确地将其描述(用户可见的外部接口)与其实现(用户不可见的内部实现)分开,其内部实现根据其具体定义的范围提供保护。
对象是封装的最基本单位。封装防止了程序相互依赖引起的变化的影响。面向对象的包装比传统的语言包装更加清晰和强大。
(3)***享受
面向对象的技术在不同层次上促进* * *的享受:
(1)享受* * *同品类。
同一类中的对象具有相同的数据结构。这些对象在结构和行为特征上存在* * *共享关系。
②在同一个应用中享受。
在同一应用的类层次结构中,具有继承关系的相似子类之间存在数据结构和行为的继承,使得所有相似子类* * *享有相同的结构和行为。利用继承来实现代码的享受也是面向对象的主要优势之一。
③在不同的应用中享受。
面向对象不仅允许信息在同一应用程序中共享,而且为将来目标的可重用设计准备了条件。通过类库的机制和结构,可以实现不同应用中的信息共享。
(4)强调对象结构而不是程序结构。
开发方法
面向对象开发方法的研究日益成熟,世界上出现了许多面向对象的产品。面向对象的开发方法包括Coad方法、Booch方法和OMT方法。
(1)Booch方法
Booch首先描述了面向对象软件开发方法的基本问题,指出面向对象开发是一种与传统功能分解有根本区别的设计方法。面向对象的软件分解更接近人们对客观事务的理解,而功能分解只能通过问题空间的变换来获得。
(2)Coad方法
Coad方法是由Coad和Yourdon在1989中提出的一种面向对象的开发方法。这种方法的主要优点是通过多年大型系统开发经验和面向对象概念的有机结合,在对象、结构、属性和操作的识别上提出了一套系统化的原则。该方法从需求的角度完成了对类和类层次结构的进一步识别。虽然Coad方法没有引入类和类层次的术语,但实际上,在分类结构、属性和数据封装中已经形成的实体就是对象。对象是类的实例。有些物体是活的,有些是死的。在现实生活中,实体就是一个物体,比如人、气球、电脑等等。比如这辆车,这个人,这个房子,这张桌子,这株植物,这张支票,这件雨衣。综上所述,一切都是对象。在面向对象编程中,对象是系统中基本的运行实体,是代码和数据的集合。[2]任何在应用领域中有意义的、与所要解决的问题有关的东西都可以作为对象,它可以是一个具体的物理实体的抽象,也可以是一个人造的概念,或者