标红处的v=c是什么意思

一匹野狼 2010-10-31 03:44:17
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test
{
class Program
{

static void Main(string[] args)
{
Vehlcle v;
Car c;
v = new Vehlcle();
c = new Car();
v.drive();
c.drive();
v = c; v.drive();
Console.ReadLine();
}

}

class Vehlcle
{
public void drive()
{
Console.WriteLine("Vehlcle:drive");
}
}
class Car : Vehlcle
{
public void drive()
{
Console.WriteLine("Car:drive");
}
}
}
...全文
229 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kokorenfeng 2010-11-01
  • 打赏
  • 举报
回复
Car 是 Vehcle的子类,
就相当 于 Vehcle v=new Car ();
s8975565 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zpx3243 的回复:]
隐式转化
[/Quote]
+1
zpx3243 2010-11-01
  • 打赏
  • 举报
回复
Vehlcle v;
Car c;
v = new Vehlcle();
c = new Car();
v = c;
-----------
Car 是 Vehcle的子类, 可以转换为父类型。

v=c; 隐式转化,具体的说就是 将原来的 New Vehicle()丢掉,将v的引用指向对象c.
哥子谭 2010-10-31
  • 打赏
  • 举报
回复
指定对象类型,引用类型
bullet664051094 2010-10-31
  • 打赏
  • 举报
回复
对象向上转型!
wuyq11 2010-10-31
  • 打赏
  • 举报
回复
B b = new B( ) ;
A a = b;
父类的对象向子类转换是不可以
父类对像在new出来的时候是父类对像
子类变量引用父类型变量的强制转换是可以的
一匹野狼 2010-10-31
  • 打赏
  • 举报
回复
但是它们二个都是对象来着啊.这样不赋值不会报错吗?
一匹野狼 2010-10-31
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test
{
class Program
{

static void Main(string[] args)
{
Vehlcle v;
Car c;
v = new Vehlcle();
c = new Car();
v.drive();
c.drive();
v = c;
v.drive();
Console.ReadLine();
}

}

class Vehlcle
{
public void drive()
{
Console.WriteLine("Vehlcle:drive");
}
}
class Car : Vehlcle
{
public void drive()
{
Console.WriteLine("Car:drive");
}
}
}
lsh6688 2010-10-31
  • 打赏
  • 举报
回复
c赋值给v
int64 2010-10-31
  • 打赏
  • 举报
回复

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧