(1)、类修饰符:
new:
public:外部可自由访问
protected: 访问限制在继承链上
internal: 在当前的项目中,可以自由访问,默认的访问级别
private: 只能修饰类的成员类(内部类的可以)
abstract:
sealed: 表示该类不可被继承
static:
(2)、类的继承是使用 “ :”符号,只能继承一个父类,但可以实现多个接口,子类是不可以超越父类的访问级别
class A : B{
}
错误示例:
          internal class Vehicle { 
   
            }
    
          public  class Car : Vehicle { 
    
           }
(3)、子类是父类的实例,如何判断是不是实例
                internal class Program{
                     static void Main(string[] args){
                        Vehicle vehicle = new Vehicle();
                         Object o1 = new Vehicle();
                         Object o2 = new Car();
                        //结果是true
                         Console.WriteLine(o2 is Vehicle);
                     }
                 }
                      class Vehicle { 
    
                        }
class Car : Vehicle {
}
(4)、在子类中访问父类的内容使用 “base” 关键字
(5)、当父类的构造器是带参数的时候,子类的构造器也必须是带参数的,同时传递参数给父类
        public class Vehicle {
             public Vehicle(string owner)
             {
                 this.Owner = owner;
             }
            public string Owner { get; set; }
         }
     
         public class Car : Vehicle {
            //在初始化时,就已经将参数传递给父类了,并且设置了父类的Owner
             public Car(string owner) :base(owner) 
             {
             
             }
public void ShowOwner() {
            }
         }
(6)、类的重写,注意关键字 virtual override ,只有同时存在,才会叫重写,一旦重写了方法,那么在调用的时候,都是子类的实例了。
示例:
internal class Program
{public static void Main(string[] args){Vehicle c = new Car();//结果是:Car is runningc.Run();}
}
 
class Vehicle
{public virtual void Run(){Console.WriteLine("I'm running");}
}class Car : Vehicle
{public override void Run(){Console.WriteLine("Car is running");}
}