继承之基类和派生类知识点和思考练习

知识点

在面向对象技术中,继承是指子类自动共享基类中定义的属性和方法,从而不必创建新类,便可在现有类的基础上添加新的属性和方法,实现了代码的重用,大大提供效率。

一、继承的应用
(一)基类和派生类
访问修饰符 class 派生类名称:基类名称 
C#不支持多重继承,不允许从两个或更多的类中派生新类。派生类可以获取基类的所有非私有数据和行为,以及派生类为自己定义的所有其他数据和行为。
在C#中,System.Object类是所有类的根,如果在一个类的声明中未指定基类,则该类继承System.Object类。
在C#中,继承遵循以下规则:
1)继承可以传递。
2)继承由可扩展性,派生类可以增加自己的新成员,但不能删除已经继承的成员的定义
3)派生类可以通过声明同名新成员来隐藏继承自基类的成员,但被隐藏的基类的成员并没被删除,只是不能被派生类访问。
4)构造函数和析构函数不能被继承

 

思考练习

using System;
namespace InheritName
{
    public class Blog
    {
        private string blogName;
        private string blogAddress;
        public void SetValue()
        {
            Console.WriteLine("Please input blog's name!");
            blogName = Console.ReadLine();
            Console.WriteLine("Please input blog's address!");
            blogAddress = Console.ReadLine();
        }
        public void GetValue()
        {
            Console.WriteLine("The blog's name is {0}", this.blogName);
            Console.WriteLine("The blog's address is {0}", this.blogAddress);
        }

    }
    public class ItBlog : Blog
    {
        private string categoryName;
        public void SetCategory()
        {
            Console.WriteLine("Please input IT blog's category-name!");
            categoryName = Console.ReadLine();
        }
        public void GetCategory()
        {
            Console.WriteLine("The IT blog's category-name is {0}", categoryName);
        }
    }
    public class Program
    {
        static void Main()
        {
            ItBlog cnBlog = new ItBlog();
            cnBlog.SetValue();
            cnBlog.SetCategory();
            cnBlog.GetValue();
            cnBlog.GetCategory();
            Console.ReadLine();
        }
    }
}
posted on 2009-09-22 21:52  友闻语上  阅读(364)  评论(0编辑  收藏  举报