我即将参加我的第一个面向对象编程课程的期末考试,但我仍然不了解多态性的概念.
假设我有一个抽象类"Vehicle",这个类有一个名为"Aircraft"的子类.我的问题是,这两个代码有什么不同?
Aircraft Jetplane = new Aircraft();
Run Code Online (Sandbox Code Playgroud)
和
Vehicle Jetplane = new Aircraft();
Run Code Online (Sandbox Code Playgroud) 当我运行代码
hist(1:5)
Run Code Online (Sandbox Code Playgroud)
要么
hist(c(1,2,3,4,5))
Run Code Online (Sandbox Code Playgroud)
生成的直方图显示,当阵列中只有一个"1"时,第一个数字"1"的频率为2.

我也试过了
hist(c(1,2,3,7,7,7,9))
Run Code Online (Sandbox Code Playgroud)
但它仍然显示第一个柱子比第二个柱子高两倍

但是,当我跑
hist(c(1:10))
Run Code Online (Sandbox Code Playgroud)
每个条的频率高度相等
我对统计数据和R很新,所以我不知道这背后的原因是什么.我希望有人可以帮我澄清为什么会这样.谢谢

我知道这是愚蠢的,但我在编程世界中是一个安静的菜鸟,这里是我的代码.
这个完美的工作:
#include <stdio.h>
int main() {
float x = 3153600000 ;
printf("%f", x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是这个有一个问题:
#include <stdio.h>
int main() {
float x = 60 * 60 * 24 * 365 * 100 ;
printf("%f", x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
那么60*60*24*365*100是3153600000吧??? 如果是,那为什么会产生不同的结果?我得到了第二个溢出的溢出,结果是"-1141367296.000000".谁能告诉我为什么?
目前我正在使用RaphealJS库进行一个项目,一切似乎都没问题,直到我遇到这样的问题.
而不是多次这样做:
dolphinIcon[1].click(function() {
this.attr({
stroke: 'black', 'stroke-width': 2,
fill: 'green'
});
alert(1);
});
dolphinIcon[2].click(function() {
this.attr({
stroke: 'black', 'stroke-width': 2,
fill: 'green'
});
alert(2);
});
dolphinIcon[3].click(function() {
this.attr({
stroke: 'black', 'stroke-width': 2,
fill: 'green'
});
alert(3);
});
Run Code Online (Sandbox Code Playgroud)
为什么我不能这样做?
for(var i=0; i<dolphinIcon.length; i++){
dolphinIcon[i].click(function() {
this.attr({
stroke: 'black', 'stroke-width': 2,
fill: 'green'
});
alert(i);
});
}
Run Code Online (Sandbox Code Playgroud)
我只是希望存储在数组中的每个图标都警告()它的索引号,但是当我使用for循环时,无论我点击哪个图标,它总是警告()相同的数字(数组的大小) .我该怎么解决这个问题?