面向对象的分析与设计

     2023-02-25     194

关键词:

【中文标题】面向对象的分析与设计【英文标题】:Object Oriented Analysis and Design 【发布时间】:2010-10-11 05:05:21 【问题描述】:

为什么我不能在接口中指定静态类型的方法。

有没有其他方法可以做到这一点??

但我应该只使用抽象类的接口。

/

在接口中指定访问说明符有什么问题吗?

我想在接口中指定事件,并且应该只由实现的类访问,所以我想要该事件的受保护访问说明符。

并且我有某些功能可以在另一个类中使用接口,在这种情况下我可以使用公共访问说明符。

【问题讨论】:

另见***.com/questions/512877/… 【参考方案1】:

我在 OOP 方面的经验与 Actionscript 3 相关,但我确信它是相对的。

静态方法不能被覆盖,并且在类扩展祖先类时不会使用它们。

接口中未使用访问修饰符,因为该接口用于设置 PUBLIC 方法。

在 AS3 中,接口只是一个没有块的方法签名,但包括数据类型。

请务必注意,getter/setter 方法签名也可以在接口中使用。这些很有用,如果您只使用 setter,则您已经创建了对私有封装变量的只读公共访问。

就接口而不是抽象类而言,这完全取决于您希望如何实现代码。通常,接口和抽象类一起使用,以利用继承和多态(扩展/实现)实现不同的结果。

【讨论】:

【参考方案2】:

我不知道你用的是什么语言,但我会像用 C# 一样回答。

为什么我不能在接口中指定静态类型的方法。 有没有其他方法可以做到这一点??

这是因为你不能覆盖静态方法。 你想达到什么目的?

接口中的成员在 C# 中始终是公共的。如果您需要其他保护级别,请使用抽象类。如果您无法从界面访问受保护事件,它们的目的是什么?那么它与接口无关(记住,接口不能有任何代码)。如果您指的是只有实现类可以引发事件,请放心,它们是唯一可以引发事件的类。事件就是这样构建的——只有类本身可以引发事件。你不能在类外部引发事件(除非你在类上有一个方法,引发事件)。

【讨论】:

【参考方案3】:

我不明白你对第一个问题的意思,但你关于在接口中使用 protected 的第二个问题是直接“不”。接口被称为“接口”,因为它们指定了您可以与该对象进行通信的“接口”(即公共方法)。

【讨论】:

【参考方案4】:

接口仅向公众描述您的实现者。接口的唯一访问修饰符是接口本身的“internal”,这使其成为仅对同一程序集的所有成员或通过“InternalsVisibleTo”属性已知的成员可见的接口。

如果只有实现者应该看到某个事件,那么该事件必须在某种基类中。

静态方法几乎是过程式编程的残余。它们确实有它们的用途(参见例如扩展方法),但实际上与 OOP 并没有太大关系。

【讨论】:

面向对象分析与设计的底层逻辑(代码片段)

作者| 不拔来源| 阿里巴巴中间件面向对象是符合人认识事物的基本方法01人是怎么认识事物的在面向对象出现之前,已有面向过程的分析方法,为什么面向对象被提出了呢?究其本质原因,人们发现面向过程并... 查看详情

面向对象分析与设计的底层逻辑(代码片段)

面向对象是符合人认识事物的基本方法人是怎么认识事物的在面向对象出现之前,已有面向过程的分析方法,为什么面向对象被提出了呢?究其本质原因,人们发现面向过程并不是按照人正常认识事物的方式去分... 查看详情

面向对象的设计(11)

1.面向对象的分析与设计方法与结构化的分析设计方法有什么不同? 答:结构化系统分析方法是采用自项向下,由外到内,逐层分解\'的思想对复杂的系统进行分解化简,从而有效地控制了系统分析每一步的难度,并运用数据... 查看详情

mooc软件工程-03面向对象分析与设计

1用例建模  统一过程是目前最好的面向对象泛型  分析工作流,是为了更深的理解需求,使设计和实现目标系统更加容易  统一过程覆盖了三种类    实体类(分析工作流涉及到的)    边界类    控制类  面... 查看详情

系统分析与设计复习

...统设计系统设计内容系统设计原则第5章结构化设计第6章面向对象的设计面向对象的设计概述与静态模型面向对象的设计概述静态 查看详情

结构化设计与面向对象设计

...次例会我们就一直在讨论到底是该用结构化分析方法还是面向对象分析方法,以下是他们的区别与优势。       结构化方法和面向对象方法对于不同的软件系统各有优劣。结构化方法把解空间分数据和功... 查看详情

面向对象分析,设计,开发(ooaoodoop)

一、OOA1.1首先我们来讲述一下什么是OOAObject-OrientedAnalysis:面向对象分析法指的是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料... 查看详情

面向对象分析与设计实验七

实验一:http://www.cnblogs.com/scaugsh/p/8983219.html实验二:http://www.cnblogs.com/scaugsh/p/8983253.html实验三:http://www.cnblogs.com/scaugsh/p/9046697.html实验四:http://www.cnblogs.com/scaugsh/p/9056838.html实验七: 查看详情

项目管理系列(22):面向对象系统分析与设计

查看详情

系统分析与设计学习笔记

...必能成为建筑师”。    这门课程学习的是面向对象分析和设计的核心技能的重要工具。对于使用面向对象技术和语言来,创建设计良好、健壮且可维护的软件来说,这门课程所授予的技能是基本要求。对于创建对... 查看详情

面向对象分析与设计实验一

在线购物系统1.问题陈述/ProblemStatement随着网络的快速发展,在线购物成为时代潮流。本次任务是完成一个在线购物系统,支持功能如下:(1)    顾客注册顾客可以通过邮箱注册,需要输入用户名,密码,用户... 查看详情

面向对象分析与设计(第三版)读书笔记

系统:所有系统都有子系统,所有系统都是更大系统的组成部分,一个系统所提供的价值肯定来自于各个组成部分之间的相互关系,而不是来自于单个的组成部分。评价类的设计是否良好的指标:耦合内聚完... 查看详情

面向过程分析方法与面向对象分析方法的区别

一、结构化分析(面向过程)方法   结构化分析方法(StructuredMethod,结构化方法)是面向过程的程序设计的方法,是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。结构是指系统内各个组成要素... 查看详情

软件工程文档-银行业务管理-面向对象分析与设计

软件工程 银行业务管理和现金结算系统---面向对象分析与设计文档 ***原创所有,本文禁止一切形式的未授权转载,如需转载联系作者,请尊重作者权利。以下UML建模图仅供参考。一、面向对象分析1.     建立用... 查看详情

《面向对象程序设计概述》牛咏梅

面向对象程序设计概述牛咏梅(南阳理工学院河南南阳473000)摘要:分析传统程序设计方法与面向对象程序设计方法之间的差别,重点分析了面向对象程序设计方法的特点,介绍了面向对象程序设计方法的步骤及其优点。关键词:面向对... 查看详情

面向对象分析与设计实验二

Usecase 用况名:buyProducts简述:用户购买商品参与者:customer,business前置条件:用户必须登陆,商品余量不为零细节:用户通过搜索商品,进入到商品详情页面,可以点击购买,通过支付平台支付后,可下订单,系统自动通... 查看详情

uml2面向对象分析与设计--面向对象思维(概念面向对象技术的发展历史对象和类面向对象技术的相关原则:抽象封装分解泛化多态分层复用)(代码片段)

文章目录1.UML2面向对象分析与设计学习目标2.面向对象思维2.1学习目标2.2什么是面向对象2.3面向对象技术的发展历史2.4面向对象技术的优势2.4.1便于沟通:在计算机中模拟现实世界的事和物2.4.2稳定:较小的需求变化不会... 查看详情

类与方法

 面向对象基本概念:万物皆对象对象实质是:属性+行为类是具有共同属性和行为的对象的集合类定义了对象的属性和方法通过类可以实例化多个该类的对象,每个对象的属性值不同.类是Java程序的基本组成单位面向对象的思... 查看详情