Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何用过程语言模拟面向对象编程?_Java_Oop_Design Patterns_Jobs - Fatal编程技术网

Java 如何用过程语言模拟面向对象编程?

Java 如何用过程语言模拟面向对象编程?,java,oop,design-patterns,jobs,Java,Oop,Design Patterns,Jobs,我在一次面试中被问到这个问题,所以我想知道。我们如何用过程语言模拟面向对象语言,从而完成所有面向对象编程概念:抽象。封装。遗产多态性 谢谢大家!!!:) 您可以看看人们是如何使用JavaScript等过程语言并利用这些特性应用OO原则的 多态性:利用对象的原型属性 抽象和继承对象类中其他对象的组合,对象与原型的继承 封装对象类型可以定义外部消费对象不需要理解就可以利用的内部方法和功能 见: 其中一个方面是object.method(params…只是函数(data,params…的语法糖。

我在一次面试中被问到这个问题,所以我想知道。我们如何用过程语言模拟面向对象语言,从而完成所有面向对象编程概念:抽象。封装。遗产多态性


谢谢大家!!!:)

您可以看看人们是如何使用JavaScript等过程语言并利用这些特性应用OO原则的

多态性:利用对象的原型属性

抽象和继承对象类中其他对象的组合,对象与原型的继承

封装对象类型可以定义外部消费对象不需要理解就可以利用的内部方法和功能

见:


其中一个方面是
object.method(params…
只是
函数(data,params…
的语法糖。对于后者,开发人员必须约束自己不要传递指向错误类型数据的指针或以任何其他方式修改数据——编译器在OO语言中为您强制执行的内容。

可能更适合站点。如果
方法
是一个虚拟函数,则这是不正确的。当然,这仍然是正确的,只是更复杂。为了模拟虚拟函数,过程开发人员必须根据数据的实际类型制定一些方案,以确定在运行时调用哪个函数。OO语言为您解决了所有这些问题。您可以使用过程代码实现OO,但处理多态性所需的逻辑量对于任何合理的“语法糖”定义来说都是一个极限