C#ÃæÊÔ±ÊÊÔСÌùÊ¿ 2
¶ÔÓÚ¶à̬£¬»¹±ØÐèÌáÒ»¸öC#ÖеĹؼü×Ö£ºnew¡£Ç°ÃæÌáµ½£¬¶ÔÓÚvirtual·½·¨£¬JIT»áÈ·¶¨ÊµÀýµÄʵ¼ÊÀàÐÍÈ»ºó¾ö¶¨µ÷ÓÃʲô·½·¨¡£µ«ÊÇÈç¹ûÅÉÉúÀàÖÐnew¹Ø¼ü×ÖÐÞÊη½·¨£¬ÔòËüÏòCLR³ÎÇå´ËÅÉÉúÀàÖеķ½·¨Óë»ùÀàÖеķ½·¨ºÁÎÞ¹ØÏµ£¬ÒÔÏ´úÂë×îÖÕµ÷ÓÃÊÇ»ùÀàµÄintroduce·½·¨£º
Code
class Program
{
static void Main(string[] args)
{
Sample1.M1(new OrdinaryPeople("ZhangSan"));
Sample1.M1(new Superman("Hancock"));
Console.Read();
}
}
class Sample1
{
public static void M1(Person p)
{
p.Introdce();
}
}
class Person
{
protected string mName;
public Person(string pName)
{
this.mName = pName;
}
public virtual void Introdce()
{
Console.WriteLine("Hello,I am " + this.mName);
}
}
class OrdinaryPeople : Person
{
public OrdinaryPeople(string pName)
: base(pName)
{
}
public new void Introdce()
{
Console.WriteLine("Hello,I am an ordinary person," + this.mName);
}
}
class Superman : Person
{
public Superman(string pName)
: base(pName)
{
}
public new void Introdce()
&
Ïà¹ØÎĵµ£º
ÏëÌá¸ßc#±à³Ìˮƽ£¿ÏÂÃæÕâ50Ìõ¾Ñé²»¿É²»¶Á£¡
Ìá¸ßC#±à³ÌˮƽµÄ50¸öÒªµã
1.×ÜÊÇÓÃÊôÐÔ (Property) À´´úÌæ¿É·ÃÎʵÄÊý¾Ý³ÉÔ±
2.ÔÚ readonly ºÍ const Ö®¼ä£¬ÓÅÏÈʹÓà readonly
3.ÔÚ as ºÍ Ç¿ÖÆÀàÐÍת»»Ö®¼ä£¬ÓÅÏÈʹÓà as ²Ù×÷·û
4.ʹÓÃÌõ¼þÊôÐÔ (Conditional Attributes) À´´úÌæÌõ¼þ±àÒëÓï¾ä #if
5.×ÜÊÇΪ×Ô¶¨Ò ......
±äÁ¿¡¢³£Á¿¼°±í´ïʽ±äÁ¿ºÍ³£Á¿±äÁ¿(¾²Ì¬¡¢·Ç¾²Ì¬¡¢Êý×éÔªËØ¡¢Öµ²ÎÊý¡¢ÒýÓòÎÊý¡¢Êä³ö²ÎÊý¡¢¾Ö²¿±äÁ¿)¾²Ì¬(static) Èç public static int x; Ò»µ©¾²Ì¬±äÁ¿ËùÊôµÄÀà±»×°ÔØ£¬Ö±µ½°üº¬¸ÃÀàµÄ³ÌÐòÔËÐнáÊøÊ±ËüÒ»Ö±´æÔÚ¡£·Ç¾²Ì¬£º²»´øÓÐstaticÐÞÊηûÉùÃ÷µÄ±äÁ¿³ÆÎªÊµÀý±äÁ¿£¬Èçint a ;³£Á¿(attributes constnt-modifiers CO ......
ÎÒÒÔΪ£¬ÔÚËùÓÐģʽÖУ¬×î¼òµ¥¡¢×î³£ÓõľÍÊǹ¤³§Ä£Ê½ÁË£¨°üÀ¨³éÏ󹤳§£©¡£
¹¤³§Ä£Ê½ºÍ³éÏóģʽµÄÇø±ðÔÚÓÚ£¬¹¤³§Ä£Ê½ÊÇͨ¹ý²ÎÊý£¨Ò»°ã½ÐÐͱðÂ룩À´¶¯Ì¬Éú³É¶ÔÏ󣬶ø³éÏ󹤳§±ØÐëÁ˽âÉÏÏÂÎIJÅÄܵ÷ÓÃÏàÓ¦µÄ¶ÔÏó¡£ÊµÀý´úÂëÈçÏ£º
Ò»¡¢¹¤³§Ä£Ê½
public class Factory
{
public static object Create(int type)
{
......
(1)stringÊÇÒýÓÃÀàÐÍ£º
stringÊÇÒýÓÃÀàÐÍ£¬Õâ¾ÍÊÇ˵stringÔÚ¶ÑÉϱ£´æÊý¾Ý£¬¶øÔÚÕ»Öд洢µÄÊǶÔÏóµØÖ·£¬ÔÚÀí½âstringÀàÐÍÌØÐÔʱÊ×ÏÈÐèÒª¼ÇסÕâµã¡£Ö»²»¹ýÓëÆäËüһЩÒýÓÃÀàÐÍÏà±È£¬ËüÓÖÓÐһЩ±È½ÏÌØÊâµÄÌØÐÔ£¬±ÈÈçÏÂÃæµÄÕâЩ£º
(2)stringÊDz»¿É±äµÄ(immutable)£º
stringµÄÕâÒ»ÌØÐÔÊÇÖ¸£¬¶ÔÓÚÒÑÓеÄÒ»¸östring¶ÔÏ󣬵±ÄãÐÞ¸ ......
[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDual)]
public class Object
1 public virtual bool Equels (Object)
2 public static bool static Equels (Object,Object)
ĬÈÏʵÏÖΪ¶ÔÒýÓÃÀàÐÍʹÓÃÒýÓÃÏàµÈ£¬¶ÔÖµÀàÐÍʹÓöþ½øÖư´Î»ÏàµÈ¡£ÒýÓÃÏàµÈÐÔÊÇÖ¸½ø ......