From 6635f23a7f3ba394c5abe219748e972a417031b2 Mon Sep 17 00:00:00 2001 From: Jason Zhu Date: Mon, 9 Aug 2021 23:03:02 +1000 Subject: [PATCH] 3.2 Inheritance (started) --- chap03.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/chap03.md b/chap03.md index 19c6205..d36657d 100644 --- a/chap03.md +++ b/chap03.md @@ -373,6 +373,38 @@ string name = nameof(count); // name is "count" ## 3.2 Inheritance +**Subclass** inherit from **Superclass** + +e.g. define class inheritance +```csharp +// Superclass +public class Asset +{ + public string Name; +} + +// Subclass +public class Stock : Asset +{ + public long SharesOwned; +} +public class House : Asset +{ + public decimal Mortgage; +} +``` + +e.g. use classes +```csharp +Stock msft = new Stock { Name = "MSFT", + SharesOwned = 1000 }; +Console.WriteLine(msft.Name); // MSFT +Console.WriteLine(msft.SharesOwned); // 1000 + +House mansion = new House { Name = "Mansion", + Mortgage = 2500000 }; +``` + ### 3.2.1 Polymorphism ### 3.2.2 Casting and Reference Conversions