abstraction相关内容
我是一名 java 开发人员,对面向对象的概念有很好的理解(或者,我认为是这样的).现在我正在学习设计模式(从头开始设计模式).我一直在阅读有关 OOPS 概念抽象的内容以简要了解它,阅读更多有关它的内容使我比之前更加困惑. 据我所知,抽象是指隐藏程序的内部细节,同时将接口暴露给其他程序员,而不用担心内部细节.但是,我不明白 抽象类如何适应这种抽象概念,其中抽象类要求我实现抽象方法,在
..
使用 getter 和 setter(仅获取和设置)而不是简单地为这些变量使用公共字段有什么好处? 如果 getter 和 setter 所做的不仅仅是简单的 get/set,我可以很快弄清楚这一点,但我不是 100% 清楚如何: public String foo; 比: private String foo;public void setFoo(String foo) { this
..
使用 getter 和 setter(仅获取和设置)而不是简单地为这些变量使用公共字段有什么好处? 如果 getter 和 setter 所做的不仅仅是简单的 get/set,我可以很快弄清楚这一点,但我不是 100% 清楚如何: public String foo; 比: private String foo;public void setFoo(String foo) { this
..
我想将一组对象添加到 arrayList 中,前提是特定属性不为空. 我正在考虑扩展 ArrayList 并在子类中实现检查. 另一种方法是在将属性放入 Arraylist 之前检查属性,但这意味着,如果我需要根据逻辑将对象添加到 arraylist,我将不得不将 if 检查分散到每个地方. 我想知道您对此的看法……再想一想是不是有点矫枉过正? 解决方案 装饰模式
..
我想创建一个具有初始行为的 AbstractComponent,同时能够在需要时在 child 上覆盖它,这可能吗?这是一个好习惯吗? 应该看起来或多或少像这样: 导出抽象类 AbstractComponent 实现 OnInit {构造函数(authService:AuthService,路由器:路由器){}ngOnInit() {如果(authService.userNotLogged
..
首先,我认为这样做有点荒谬,但我团队的其他成员坚持这样做,除了“我认为这很愚蠢"之外,我无法提出一个好的论据...... 我们要做的是创建一个完全抽象的数据层,然后对该数据层进行各种实现.够简单了吧?进入实体框架 4.1... 我们的最终目标是程序员(我尽力只停留在数据层)永远不想接触具体的类.除了明显需要实例化工厂之外,他们只想在他们的代码中使用接口. 我想实现如下目标: 首
..
应用程序的优先级高于抽象. 从这个意义上说,什么是 lambda 演算抽象?我对优先于什么感到困惑? 解决方案 Lambda 抽象是 λx.M,对于某些变量 x 和任意项 M. 应用是(MN),对于一些任意的术语M 和N. 优先级问题是如果可能有多个读取,则首先执行多个操作中的哪一个,因为该术语由于省略括号而含糊不清.例如在算术中,乘法优先于加法,这意味着 5+2×3 被读作 5
..
我一直在尝试使用抽象 OOP 来外部化属性代码,这样我就可以将它调用到生产者类,但我似乎无法调用它.这是代码,任何帮助将不胜感激. 公共类生产者{private static final Logger logger = LogManager.getLogger(Producer.class);公共静态无效主(字符串 [] args){logger.info(“创建卡夫卡生产者...");Kafk
..
我一直在尝试使用抽象 OOP 来外部化属性代码,这样我就可以将它调用到生产者类,但我似乎无法调用它.这是代码,任何帮助将不胜感激. 公共类生产者{private static final Logger logger = LogManager.getLogger(Producer.class);公共静态无效主(字符串 [] args){logger.info(“创建卡夫卡生产者...");Kafk
..
我正在创建一个基类,以便子类的所有绑定都将设置在基类中 我已经做到了这一点 抽象类 BaseActivity2: AppCompatActivity() {私有 var viewBinding: B?= 空私有变量 baseViewModel:T?= 空覆盖 fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedIns
..
我正在努力理解抽象在 Java 中的整体使用. 我一直在研究这个链接中的一个例子:https://javatutorial.net/java-抽象示例我理解它的实现,但我不明白为什么它甚至是必要的.如果他们只是要在 2 个子类中再次创建,为什么他们的一个 calculateSalary 方法是在 Employee 类中创建的? 解决方案 抽象的整体使用是解耦的.要使用 Employe
..
抽象是隐藏实现细节并只向用户展示功能的过程. 另一种方式,它只向用户显示重要的东西,隐藏内部细节.所以下面是一个创建抽象类并覆盖抽象方法的示例.但我不明白的是它是如何隐藏实现细节的? 抽象类银行{抽象 int getRateOfInterest();}SBI 类扩展银行{int getRateOfInterest(){返回7;}}PNB 类扩展银行{int getRateOfInteres
..
我正在编写一个玩具线性代数库,用于学习和用于玩具神经网络库.我想使用不同的 Java 线性代数库来测试效率,但我被困在抽象上. 假设我希望我自己的矩阵抽象是加、减、乘、hadamardMultiply、map 和 mapElements,如下所示: //我更愿意这样强制实现类是不可变的...//M是实现矩阵的类型公共接口 Matrix{M加(M进);
..
我处在必须使用包含很多事件且写得不好的3rd party库的情况下.它触发了我必须在代码中处理的事件,但是我试图将其抽象化(以便能够对依赖于该库的其余代码进行单元测试),因此我需要一个适配器.问题在于某些事件属于具有 ref 参数的委托类型.这是第3方库外观的示例: 委托void AdapteeEventHandler1(SpecificAdaptee sender,int a,int b);委
..
我对许多抽象定义感到困惑.谁能告诉我什么是抽象,我们如何实现呢? OOP理论中的 解决方案 抽象 在于,仅保留现实世界中针对特定问题的物体的相关方面.因此,我们谈论现实的抽象.这是还原. 例如,在现实世界中,猫和狗是脊椎动物.这种动物具有诸如头和腿的特性,以及诸如走路和进食的操作.然后,我们将定义类,它们将是动物,猫和狗. 因此,我们具有继承性的概念,其中猫和狗继承了常见的属性和
..
让我们看看我是否可以正确地描述这一点... 我有一个抽象类,当其他类从其扩展时,我希望使用该抽象类将数据重置为零。 我的想法是我有一堆类对此进行了扩展,并使用MySQL表的数据结构。我不想使用每个类实例来查询数据库以确定类的数据(“ SHOW COLUMNS FROM tablename )。 因此,对于每个类,我都想为每个“我们之前创建过这个类吗?如果是这样,我们就知道该类的结
..
如果遇到以下错误,可能是什么问题。 在扩展课程时,出现了此错误 示例: class ModuleUser扩展 AbstractModule 致命错误:(.... PATH)中找不到类AbstractModule吗? 我已经做了很多可能性。 任何帮助都会感激 感谢n前进 p> Fero 解决方案 在您定义ModuleUser之前,请导入文件
..
经过SO问题后,我了解到 封装是关于保护不变式并隐藏实现细节。 抽象与将接口与实现分开。 来自教室java 培训,据我了解,封装具有以下优势, 为什么封装是您的朋友? [1]实现独立于功能。拥有接口文档的程序员 可以独立实现模块或ADT的新版本 。更好的新实现可以用 代替旧的实现。 [2]封装可防止Doug编写破坏 模块内部数据的应用程序。在实际编程中,
..
请问我对此UML图有何反馈?这是一张简化的图,仅显示了此时故意有实例变量,构造函数和方法遗漏的类的布局和互连性。 库存项目简化的UML图 我需要指导的主要内容是面向对象的设计。我是否具有实现接口的正确类,还是应该将接口移动到子类/超类,我是否具有正确的关联,组成,聚合关系...这些东西。因为我还不熟悉UML,所以我希望我已使用适当的约定按照我希望的方式来描述关系。 基本上,我在用
..
我目前必须为我的应用程序验证自定义字段对象。简而言之,每个Field对象都包含有关该字段的验证以及该字段的值的信息。 我正在批量验证字段,因此目前,我有一个验证类,该类具有用于每个验证的方法。对于必填字段,它看起来像这样: private void RequiredFields() { foreach( allFields中的字段字段) { if(((field.Required
..