日期:2014-05-18  浏览次数:20806 次

请问c#继承和实例化对象的区别是什么呢?
如题:

 public A : B

 B A = new B()

 请问大伙,在具体使用过程中,继承自一个类,以及实例化一个类,他们的区别是什么呢?

------解决方案--------------------
C# code

public class A
{
    public string Gets()
    {
        return "A";
    }
}
public class a : A
{
    public string Opter()
    {
        return "a";
    }

}

//通过下面的方式调用
A x = new a();
Response.Write(x.Gets());

------解决方案--------------------
从本质讲 实例化是生成一个对象 继承是生成一个类
举个例子
现在有个类叫NEWSTRING(假设现在没有什么STRING 要自己定义)
该类有3个析构函数 一个是NEWSTRING()一个是NEWSTRING(char[] str)一个是NEWSTRING(char[] str,int len)
有两个成员char[] str和int len
有一个方法是getlen 返回int len
好了
现在先说实例化
比如 NEWSTRING str1=new NEWSTRING("abc",3);
那么char[] str就是{'a','b','c'} int len就是3
可以使用str1.getlen 返回3
但只有这些功能了!

然后是继承
public class SUPERSTRING:NEWSTRING
那么 NEWSTRING本来的"功能"(析构函数 成员 方法)他都有 而你下面定义的就是新增的功能(当然也可以什么都不定义 就相当于换个名字 但那个叫:蛋疼....)
现在你定义了一个新的类 但还没有实例化
要SUPERSTRING str2=new SUPERSTRING(....);
------解决方案--------------------
你好
 
第一个问题是继承,就是A类继承B类,那么A类就有了B类所有的属性和方法(不包括B类私有的).也就是A类是B类的子类(子集).
第二个问题,创建实例需要首先声明一个对象的变量,然后用new关键字去创建一个对象并赋值给声明的对象变量:
例: B A; //B在这里是类型,A是变量的名称 
A=new B(); //这里是给这个变量A赋值,赋的值是用new关键字创建的B类型实例.
这时候的A变量已经被赋值了,那么就可以通过A变量调用B类的所有公开的函数及变量了
当然你也可以通过new关键字创建A类型的实例赋值给B类型的变量A。在这种情况下,A变量只可以方问B为型的所有成员,不能访问A类型子类的成员.
例:
B A;
A=new A();
实际变量A的类型变为了A类型
------解决方案--------------------
MSDN是最好的老师,LZ去查查吧~
继承的说明:
http://msdn.microsoft.com/zh-cn/library/ms173149(VS.80).aspx
------解决方案--------------------
继承: 楼主可以理解成是:创建一个类型(这个类型是CLASS) 
 实例化: 如果不实例化CLASS,CLASS就不能用。

对照下:
int是个类型 
要用这个int类型 就要声明变量 否则上面的int 就不能用。 你目前也可以理解成: 实例化就是变量 只不过是称谓上不一样 
懂了吗??? 给分 给分 我要分
------解决方案--------------------
探讨
两回事吧,继承产生一个类,实例化是....把它具体化。
一个是名册里的名字,一个是具体的人。