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();
}
}
}
继承(一):初识继承
最新推荐文章于 2025-01-02 12:46:36 发布