C#中介面、基類與類
C#中,介面是一個非常重要的概念,它定義了需要實現介面的相關的類需要共同遵守的一個約定,只能包含屬性、方法和函式,不能包含欄位。
類只能繼承一個類,不能多重繼承。但可以繼承多個介面。繼承介面的類需要實現介面定義的相關屬性、方法和函式。在介面中定義相關成員時,不加任何修飾符,預設為public,在相應的類中實現相應的成員時,修飾符必須是public。當類同時繼承基類和介面時,先繼承基類,再繼承介面。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace demoInterface
{
interface IPersonIncome
{
double Income { get; }
void Display();
}
class Student:IPersonIncome {
private string name;
private double subvention;
private double scholarship;
private double grants;
public Student(string name, double subvention, double scholarship, double grants)
{
this.name = name;
this.subvention = subvention;
this.scholarship = scholarship;
this.grants = grants;
}
public double Income {
get {
return subvention + scholarship + grants;
}
}
public void Display()
{
Console.WriteLine("{0}是一句學生,總收入:{1}",name,Income);
}
}
class Employee
{
public string Name { get; set; }
public int Age { get; set; }
public double Salary { get; set; }
public Employee(string name, int age, double salary)
{
this.Name = name;
this.Age = age;
this.Salary = salary;
}
}
class Manager : Employee, IPersonIncome
{
public double Bonus { get; set; }
public Manager(string name, int age, double salary,double bonus)
: base(name, age, salary)
{
Bonus = bonus;
}
public double Income {
get {
return Salary + Bonus;
}
}
public void Display()
{
Console.WriteLine("{0}是一句經理,總收入:{1}", Name, Income);
}
}
class Program
{
static void Main(string[] args)
{
Student stu = new Student("zxf",100,200,300);
Manager mng = new Manager("zxf",37,2000,3000);
stu.Display();
mng.Display();
Console.ReadLine();
}
}
}
相關文章
- C#虛基類繼承與介面的區別C#繼承
- C#中基類的重寫C#
- java中的抽象類與介面Java抽象
- 類與介面(三)java中的介面與巢狀介面Java巢狀
- C#點滴 - 抽象類與介面區別C#抽象
- C# 繼承 子類(派生類) 父類(基類)C#繼承
- 抽象類與介面抽象
- 介面與抽象類抽象
- JAVA基礎之介面與內部類Java
- c#中判斷類是否繼承於泛型基類C#繼承泛型
- C#介面、抽象類、普通類和繼承(子類與父類)都有其特定的用途和場景C#抽象繼承
- c#之splitcontainer類(介面)C#AI
- Java基礎之介面與抽象類及多型、內部類Java抽象多型
- PHP中的抽象類、介面與性狀PHP抽象
- Java中抽象類與介面的區別Java抽象
- Java中的介面與抽象類詳解Java抽象
- 繼承 基類與派生類繼承
- 【Java基礎】類和介面Java
- c#之基類派生類base_小記C#
- c# 基類派生類成員方法訪問C#
- C#基礎概念之密封類,屬性訪問器,介面C#
- c#中DateTime類C#
- Java基礎10 介面的繼承與抽象類Java繼承抽象
- C# OOP:繼承,介面和抽象類C#OOP繼承抽象
- 基類與派生類的轉換
- typescript探索(二)- 介面與類TypeScript
- TypeScript介面與類的使用TypeScript
- c#之基類派生類base_小記(2)C#
- 走進C# abstract,瞭解抽象類與介面的異同C#抽象
- java中抽象類和介面Java抽象
- 77. C#中的介面和類有什麼異同?C#
- Java基礎-抽象類和介面Java抽象
- Java中的介面與抽象類設計原則Java抽象
- C#中PDF文件操作類C#
- C#中URL的操作類C#
- C#中類的繼承C#繼承
- c#圖解教程 類基礎C#圖解
- C# 泛型 基類約束C#泛型