using System;
namespace app{
    class MyClass{
        public static void Main(string[] args){
            B b= new B();
            A a= new A();
            Console.WriteLine(a.a(13));
            Console.WriteLine(b.a(13));
        }
    }
    class A{
        int b=1;
        public  int a(){
            return b;
        }
        public virtual int a( int _b){ //虚方法
            return b=_b;
        }
    } 
    class B:A{
        public override int a (int _b){
            return base.a(88);
        }
    }
}
25 25   1
using System;
2
namespace app{
3
    class MyClass{
4
        public static void Main(string[] args){
5
            B b= new B();
6
            A a= new A();
7
            Console.WriteLine(a.a(13));
8
            Console.WriteLine(b.a(13));
9
        }
10
    }
11
    class A{
12
        int b=1;
13
        public  int a(){
14
            return b;
15
        }
16
        public virtual int a( int _b){ //虚方法
17
            return b=_b;
18
        }
19
    } 
20
    class B:A{
21
        public override int a (int _b){
22
            return base.a(88);
23
        }
24
    }
25
}

using System;
namespace app{
    class MyClass{
        public static void Main(string[] args){
            B b= new B();
            A a= new A();
            Console.WriteLine(a.a(13));
            Console.WriteLine(b.a(13));
        }
    }
    class A{
        int b=1;
        public  int a(){
            return b;
        }
        public  int a( int _b){ //虚方法
            return b=_b;
        }
    } 
    class B:A{
        public new int a (int _b){  //
            return base.a(88);
        }
    }
}
25 25   1
using System;
2
namespace app{
3
    class MyClass{
4
        public static void Main(string[] args){
5
            B b= new B();
6
            A a= new A();
7
            Console.WriteLine(a.a(13));
8
            Console.WriteLine(b.a(13));
9
        }
10
    }
11
    class A{
12
        int b=1;
13
        public  int a(){
14
            return b;
15
        }
16
        public  int a( int _b){ //虚方法
17
            return b=_b;
18
        }
19
    } 
20
    class B:A{
21
        public new int a (int _b){  //
22
            return base.a(88);
23
        }
24
    }
25
}
using System;
namespace app{
    class MyClass{
        public static void Main(string[] args){
            B b= new B();
            A a= new A();
            Console.WriteLine(a.a(13));
            Console.WriteLine(b.a(13));
        }
    }
    class A{
        int b=1;
        public  int a(){
            return b;
        }
        public  virtual int a( int _b){ //虚方法
            return b=_b;
        }
    } 
    class B:A{
        public override sealed int a (int _b){
            return base.a(88);
        }
    }
    class C:B{
        public override int a (int _b){ //报错
            return base.a(88);
        }
    }
}
30 30   1
using System;
2
namespace app{
3
    class MyClass{
4
        public static void Main(string[] args){
5
            B b= new B();
6
            A a= new A();
7
            Console.WriteLine(a.a(13));
8
            Console.WriteLine(b.a(13));
9
        }
10
    }
11
    class A{
12
        int b=1;
13
        public  int a(){
14
            return b;
15
        }
16
        public  virtual int a( int _b){ //虚方法
17
            return b=_b;
18
        }
19
    } 
20
    class B:A{
21
        public override sealed int a (int _b){
22
            return base.a(88);
23
        }
24
    }
25
    class C:B{
26
        public override int a (int _b){ //报错
27
            return base.a(88);
28
        }
29
    }
30
}
using System;
namespace app {
    class MyClass {
        public static void Main (string[] args) {
            B b = new B ();
            A a = new A ();
            a.a ();
            b.a ();
            a = b; //访问基类的方法
            a.a ();
        }
    }
    class A {
        public void a () { //虚方法
            Console.WriteLine ("虚方法!");
        }
    }
    class B : A {
        public new void a () {
            Console.WriteLine ("新虚方法!");
        }
    }
}
23   1
using System;
2
namespace app {
3
    class MyClass {
4
        public static void Main (string[] args) {
5
            B b = new B ();
6
            A a = new A ();
7
            a.a ();
8
            b.a ();
9
            a = b; //访问基类的方法
10
            a.a ();
11
        }
12
    }
13
    class A {
14
        public void a () { //虚方法
15
            Console.WriteLine ("虚方法!");
16
        }
17
    }
18
    class B : A {
19
        public new void a () {
20
            Console.WriteLine ("新虚方法!");
21
        }
22
    }
23
}
using System;
class Dog{
    public static void Main(string[] args){
        B b = new B();
        A a= new A();
        b.a();
        a.a();
        a=b;
        a.a();//B类的方法
    }
}
class A{
    public virtual void a(){
        Console.WriteLine("A.a方法");
    }
}

class B:A{
    public override void a(){
        Console.WriteLine("B.a方法");
    }
}
23   1
using System;
2
class Dog{
3
    public static void Main(string[] args){
4
        B b = new B();
5
        A a= new A();
6
        b.a();
7
        a.a();
8
        a=b;
9
        a.a();//B类的方法
10
    }
11
}
12
class A{
13
    public virtual void a(){
14
        Console.WriteLine("A.a方法");
15
    }
16
}
17
18
class B:A{
19
    public override void a(){
20
        Console.WriteLine("B.a方法");
21
    }
22
}


来自为知笔记(Wiz)

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄