1.只能继承一个类,派生类将继承构造函数和析构函数以外的其他成员。
2.继承具有传递性 a-b-c c同时继承了A 也继承了B.
3.派生类可以对基类的功能进行扩展,可以增加新自己的新成员,但是不能删除继承的成员,只能予以使用。
4.如果派生类定义与基类成员同名的新成员,则会覆盖已经继承的成员,所继承的那个同名成员则不能再去访问。
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace 继承
- {
- public class Pen {
- public string Color;
- public static double Price;
- private int Length;
- protected int Width;
- public void SetWith(int w) {
- Width = w;
- }
- public int GetWith() {
- return Width;
- }
- public void write() {
- Console.WriteLine("现在用笔在写字");
- }
- }
- public class Pencil : Pen
- {
- new public void write() {
- Console.WriteLine("现在用铅笔写字");
- }
- public void erase() {
- Console.WriteLine("现在擦出所有文字");
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- Pencil p1 = new Pencil();
- p1.Color = "green";
- Pencil.Price = 6;
- //p1.Length = 20; 不可以被访问 设置为私有类型
- //p1.Width = "2"; PROTECTDE 成员只能在累或者他的派生类中访问
- p1.SetWith(20);
- p1.write();
- p1.erase();
- Console.WriteLine("color is {0},price is {1},width is {2}", p1.Color, Pencil.Price, p1.GetWith());
- Console.ReadLine();
- }
- }
- }