继承(一):初识继承

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

//继承
//1、继承本质:将共有的功能放在基类中,然后从这个基类派生出其他类,并且重定义或修改继承的基类行为。
//2、派生类可以继承基类中public、protected、internal的几乎所有成员,但构造器不能被继承
namespace InheritanceApp
{
    //假设需要一个用于处理Microsoft SQL Server数据库和Oracle数据类。因为这两个数据库在某些方面有差异,所以希望为每种数据建立一个类。
    //但是,这两个数据库有许多相同的功能,所以希望将共有的功能放在基类中,然后从这个基类派生出另外两个类,并且重定义或修改继承的基类行为。这就是继承本质。

    class DataBase
    {
        public DataBase()
        {
            CommandField = 43;
        }
        public int CommandField;
        public void CommandMethod()
        {
            Console.WriteLine("[DataBase.CommandMethod] Method called");
        }
    }
    class SQLServer:DataBase
    {
        public void SomeMethodSpecificToSQLServer()
        {
            Console.WriteLine("[SQLServer.SomeMethodSpecificToSQLServer] Method called");
        }
    }
    class Oracle:DataBase
    {
        public void SomeMethodSpecificToOracle()
        {
            Console.WriteLine("[Oracle.SomeMethodSpecificToOracle] Method called");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("[Main] Instantiating a SQLServer object");
            SQLServer sqlServer=new SQLServer();
            Console.WriteLine("[Main] Calling SqlServer.SomethodSpecificToSQLServer");
            sqlServer.SomeMethodSpecificToSQLServer();
            Console.WriteLine("[Main] Calling SqlServer.CommandMethod");
            sqlServer.CommandMethod();
            Console.WriteLine("[Main] Accessing inherited Sqlserver.CommandField,value={0}",sqlServer.CommandField);
            Console.ReadKey();

        }
    }
}
r_22.jpg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>