Android框架是否使用命令或面向对象的设计



我知道Java主要是面向对象的语言,因为您可以执行诸如encapsulationinheritancerun-time polymorphism

之类的事情

但是,当我在YouTube上观看有关RxJava的大量谈话时,他们在Android下说,您可以使用命令规则?这与生命周期方法有关吗?

当我与Pojo的工作时,不是面向对象吗?这必须如何通过架构层处理数据?我对所有这些"范式"one_answers"样式"感到困惑,尤其是因为RxAndroid与"功能反应"样式融合在一起。

首先:Android是操作系统,而不是编程语言。该语言主要以对象为导向,但是最近使Java更适合功能编程的努力。诸如RXJAVA之类的框架也强调了这一点。

当然,可以在Android平台上使用不同的编程模型。

从那里来:假设这个大型,复杂的环境可以简化为简单,始终正确的单个单词描述,这根本没有意义。这是许多不同方面的组合。

或正如美国公民所说的:在pluribus unum 中。

android本身是一种平台,而不是一种语言,因此问题包含类别错误。

一般而言,可以确定回答这种问题的唯一方法是诉诸基本定义。彼得·韦格纳(Peter Wegner(在1987年在"基于对象的语言设计的维度"中陈述了这些。

Wegner提供以下定义:

  • 基于对象的:语言是基于对象的,如果将对象作为语言功能支持。
  • 基于类:基于对象的语言是基于类的语言(经典(,如果每个对象都有类。
  • 面向对象的:基于对象的语言是面向对象的,如果其对象属于类,并且可以通过继承机制来逐渐设计。

我认为你有点不错。

java 势在必行的语言。您最好询问声明性与命令编程之间的区别,或面向对象和功能编程之间的区别。

这是一篇关于当务之急的文章的精彩文章:https://tylermcginnis.com/imperative-vs-declarative-programming/

这是一个堆栈溢出答案,解释了面向对象和功能之间的区别:功能编程与面向对象的编程

Android提供了用Java编写的框架。Android不是一种语言,但Java是。Java是一种面向对象的语言。

我希望能有点清除。

有些人说Java更像是混合动力车,从本文中获取这篇文章:

也就是说,Java不是一种纯粹面向对象的语言。有人说Java是一种混合动力,IMO是一个准确的描述。我会认为爪哇是一种肮脏的oo语言的混合物。考虑: 字符串s = string2.trim((; 首先,由于"字符串"是不可变的,因此上述函数编程的代码重新计算。" Trim(("操作应导致将空格从" String2"的两端修剪,而无需重新分配。也就是说,操作应尽可能接近对象的数据。对我来说,这使Java感到肮脏(由于" Get"登录方法的流行,这也导致紧密耦合的系统,但这完全是另一个话题(。哎呀,什么?该示例完全是OO。对象取向并不是必需的可变状态。实际上,由于琴弦经常经常传递,因此缺乏突变器方法确实可以节省很多头痛。 其次,Java无法改变所有消息的行为。它将对象可用的"操作"类型混合,具体取决于它们的类型。" "同样适用于字符串,但不适用于矩阵或颜色。这还不错,因为您可以执行matrix.Add(矩阵(,但可以说明有关Java为"脏"(或"不纯"(如果愿意的话((的观点。 最后,提供性能提高是一种混合体。即使SmallTalk具有高级虚拟机,它的无法(当我使用它的时候(为整数数学提供了与机器相关的字体模式,对整个环境产生了重大的性能影响。作为混合动力,Java不能称为真正面向对象的语言。但是,为什么要重要?使用正确的工具来工作,生活会很幸福!*

so:

如果需要的话,您可以像程序编程一样工作,并且不使用任何OOP,而是纯粹的OOP编程,因为Java中的所有内容并非所有内容都是对象。

也:

java8引入了一些有关功能编程的概念,其中之一是使用lambdas。 在简历中,java 势在必行,oop和功能性语言(版本上的dep(。

最新更新