首页 > 代码库 > 【学习笔记】C# 封装和继承

【学习笔记】C# 封装和继承

  • 封装
    • 封装是实现面向对象程序设计的第一步
    • 封装就是将数据、方法等集合在一个个单元中,我们称之为类
    • 封装的意义在于保护代码/数据,屏蔽复杂性
  • 继承
    • 继承是所有面向对象语言不可缺少的部分
    • 继承是为了实现类的重用和扩展
    • 被继承的类叫做基类,或者父类。 继承于基类的叫做派生类,或者子类。
    • 在C#中,只支持单继承,子类只能有一个父类
    • 父类具有的特性,子类同样具有,继承可以传递
  •   示例
  •  1 using System;
     2 namespace ObjectFeatureDemo
     3 {
     4     public class Refrigerator
     5     {
     6         //封装是面向对象编程的第一步
     7         //把方法进行封装,创建了类
     8         public void Open()
     9         {
    10             Console.WriteLine("打开");
    11         }
    12         public void Close()
    13         {
    14             Console.WriteLine("关闭");
    15         }
    16 
    17     }
    18 
    19     //如果我们创建的类,没有指定父类,默认都是继承自Object
    20     public class Person
    21     {
    22         public string name;
    23         public int age;
    24 
    25         public void Say(string str)
    26         {
    27             Console.WriteLine(str);
    28         }
    29     }
    30     //继承 - 一个类可以继承于另外一个类
    31     //被继承的类叫做父类,或者基类
    32     //继承的类叫做子类,或者派生类
    33 
    34     //继承可以进行功能扩展,实现重用
    35     //C# 只支持单继续,一个子类只能有一个父类
    36     public class Student : Person
    37     {
    38         public int num; //学号
    39         public void GoToClass()
    40         {
    41             Console.WriteLine("去上课");
    42         }
    43     }
    44     class Program
    45     {
    46         static void Main(string[] args)
    47         {
    48             Refrigerator r = new Refrigerator();
    49             //封装能够保护代码、数据安全性
    50             r.Open();
    51             //封装可以屏蔽复杂性
    52 
    53 
    54             //继承
    55             Person p = new Person();
    56             p.name = "Li";
    57             p.age = 20;
    58             p.Say("I am OK!");
    59 
    60             Student s = new Student();
    61             s.name = "LiL";
    62             s.age = 12;
    63             s.num = 100001;
    64             s.GoToClass();
    65         }
    66     }
    67 }

     

【学习笔记】C# 封装和继承