[所有OOP语言都支持使用变量来引用对象。但是某些语言还支持让变量引用类(类引用类型)。说我有一个将接受对象或类作为其参数的方法。我将如何称呼该参数?换句话说,是否有一个术语既封装了“对象”又封装了“类”?
进一步说明,这是一些(否则无用的)PHP代码,它们说明了类引用与对象引用的含义:
<?php
class Foo {
public function shout(string $message) {
echo strtoupper("$message\n");
}
}
class Bar {
public function shout(string $message) {
echo "!!! $message !!!\n";
}
}
/**
* @param mixed $classOrObject
*/
function shoutOut($classOrObject) {
if (is_object($classOrObject)) {
$classOrObject->shout('I got an object');
} elseif (is_string($classOrObject)) {
$object = new $classOrObject();
$object->shout('I got a class');
}
}
shoutOut(new Foo());
shoutOut(Bar::class);
因此,可以将问题改写为
$ classOrObject参数的更好名称是什么?
作为第三次尝试去了解我在这里真正想得到的东西,想象一下您正在编写OOP简介。您可以说类似>
OOP范式的主要成分是类和对象。
因此,如果要用理论上更准确的术语代替“主要成分”,我的问题是该术语是什么?如果类是苹果,对象是梨,我们将它们都称为“水果”。但是类和对象不是结果,所以我们称它们为什么?
[所有OOP语言都支持使用变量来引用对象。但是某些语言还支持让变量引用类(类引用类型)。说我有一个方法可以接受...
对象是类的实例。类就像模具,而对象是使用此模具创建的元素。