标签:
杂谈 |
分类: 技术 |
继承是子类使用了父类的方法,多态是父类使用了子类的方法。
A.多态性定义:
同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。多态性通过
派生类重载基类中的虚函数型方法来实现。
C#支持两种类型的多态性:
1.编译时的多态性
编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、
返回的类型等信息决定实现何种操作。
2.运行时的多态性
运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。C#中,运行时的多
态性通过虚成员实现。
编译时的多态性为我们提供了运行速度快的特点,而运行时的多态性则带来了高度灵活和抽象的
特点。
B.实现多态(多态性允许对类的某个方法(同名方法)进行调用而无需考虑该方法所提供的特定实现。)
1.抽象类实现
2.继承实现
3.接口实现
using System;
using System.Collections.Generic;
using System.Text;
namespace Video
{
标签:
杂谈 |
分类: 技术 |
--查询每门课程的前2名成绩
CREATE TABLE StudentGrade(
stuId CHAR(4),
subId INT,
grade INT,
PRIMARY KEY (stuId,subId)
)
GO
--表中数据如下
INSERT INTO StudentGrade(stuId,subId,grade)
VALUES('001',1,97);
INSERT INTO StudentGrade(stuId,subId,grade)
VALUES('001',2,50);
INSERT INTO StudentGrade(stuId,subId,grade)
VALUES('001',3,70);
INSERT INTO StudentGrade(stuId,subId,grade)
VALUES('002',1,92);
INSERT INTO StudentGrade(stuId,subId,grade)
VALUES('002',2,80);
INSERT INTO StudentGrade(stuId,subId,grade)
VALUES('002',3,30);
INSERT INTO StudentGrade(stuId,subId,grade)
VALUES('003',1,93);
INSERT INTO StudentGrade(stuId,subId,grade)
VALUES('003',2,95);
INSERT INTO StudentGrade(stuId,subId,grade)
VALUES('003',3,85);
INSERT INTO StudentGrade(stuId,subId,grade) VALUES('