[英]Java - Upcasting Vs Polymorphism
我是 Java 的新手。 我在探索 Java 概念时遇到了这些问题。 Upcasting and Polymorphism
是一样的吗? 我对这两个术语感到困惑。
interface IWebdriver{
void closeBrowser()
}
Public class ChromeDriver implements IWebdriver{
public void closeBrowser(){
//Implementation
}
}
Public class FirefoxDriver implements IWebdriver{
public void closeBrowser(){
//Implementation
}
}
Public class InternetExplorerDriver implements IWebdriver{
public void closeBrowser(){
//Implementation
}
}
Main(){
IWebdriver driver;
driver = new ChromeDriver(); // Polymorphism or Upcasting ??
driver = new FirefoxDriver(); // Polymorphism or Upcasting ??
driver = new InternetExplorerDriver(); Polymorphism or Upcasting ??
}
driver = new ChromeDriver();// Polymorphism or Upcasting ??
多态性——多态性意味着不止一种形式,同一个对象执行不同的操作
铸造- 自动类型转换
任何人都可以请解释我的区别吗?
术语Casting
指的是特定类型的对象被分配到的其他变量表达式。
以下是隐式转换,
IWebdriver driver;
driver = new ChromeDriver(); // implicit cast
driver = new FirefoxDriver(); // implicit cast
driver = new InternetExplorerDriver(); // implicit cast
而下面的一个是显式转换,
IWebdriver driver;
... // some operations here
ChromeDriver chromeDriver = (ChromeDriver) driver; // explicit cast
术语Polymorphism
是指对象在变量内的行为。
例如,
IWebdriver driver;
if(case ==1)
driver = new ChromeDriver();
else
driver = new FireFoxDriver();
driver.closeBrowser(); // this call's behavior changes according to what object is assigned to the variable 'driver' and call that object's closeBrowser() behavior
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.