面向对象(基础oop)之初识继承

本文阐述了面向对象编程中的继承概念,解释了继承的目的、语法、子类从父类继承的成员、静态成员的继承、继承的好处以及访问修饰符的重要性。通过实例展示了类之间的继承关系,强调了代码复用和维护的便利性。

      大家好,我叫李京阳,,很高兴认识大家,之所以我想开一个自己的博客,就是来把自己所了解的知识点通过自己的话写一下,希望被博客园的朋友们点评和一起讨论一下,也希望从博客园中多认识一些软件开发人员!现在我开始讲一下面向对象的一点知识,请你们多多点评和讨论!!


          1. 继承的目的: 子类希望得到父类中的成员,而不自己去亲自定义.
          给大家看张解析继承的图理解一下,嘻嘻:

          
          2. 继承的语法:
             a. 在子类的类名后面写1个冒号再跟上父亲类的名字.
                class Student:Person
                {
                 
                }
             b. Student类从Person类继承,Student类是Person类的子类.Person类是Student类的父类.
                Student类从Person类派生,Studnet类是Person类的派生类,Person类是Student类的基类.
          

 

 1     class Student:Person
 2     { 
 3 
 4         public string StuNo { get; set; }
 5 
 6  
 7         public void Test()
 8         {   
 9             this.Height = 178;
10         }


          3. 子类从父类继承,那么子类就拥有父类的全部成员.
         
          4. 继承是类的继承, 而不是对象的继承.
             子类从父类继承,就相当于在 子类的模板中 拥有类父类的所有的成员.
             在创建子类对象的时候,仍然是根据子类模板来创建的,只不过这个子类模板中拥有了父类的成员.
             所以我创建1个子类对象 这个子类对象中拥有子类的成员和父类的所有成员.
         

 

 1  class Person
 2     { 
 3 
 4         public string Name { get; set; }
 5         private int Age { get; set; }
 6         internal bool Gender { get; set; } 
 7         protected double Height { get; set; } 
 8 
 9 
10         public void SayHi()
11         {
12             this.Height = 178;
13             Console.WriteLine("年龄:" + Age);
14         }
15     }
 1     class Student:Person
 2     { 
 3 
 4         public string StuNo { get; set; }
 5 
 6  
 7         public void Test()
 8         {   
 9             this.Height = 178;
10         }


          5. 子类从父类继承,子类就可以拥有父类的全部成员吗?
             a. 在子类中,可以访问父类的public和internal 不能访问private
            
             b. 子类从父类继承,那么子类模板中就拥有了父类模板中的所有成员,包括私有成员.
                在创建子类对象的时候, 因为子类对象是根据子类模板创建爱的,所以子类对象中自然也就有父类的私有成员.
                只不过父类的私有成员 在子类的内部无法访问,但是它却真实的存在.
         
             c. 类的成员的访问修饰符
                public: 可以在任意的地方访问.
                private: 只能在类的内部访问
                internal: 可以在当前程序集中访问   
                protected: 可以在本类和本类的子类中访问.
               

1         public string Name { get; set; }
2         private int Age { get; set; }
3         internal bool Gender { get; set; } 
4         protected double Height { get; set; } 


             d. 子类从父类继承,子类模板中就拥有了父类模板中的所有成员,包括私有的.
                只不过在子类的内部只能访问父类的 非私有成员.
                                 
          6.   静态成员也是可以继承的,只不过无论通过父类去访问还是通过子类去访问 访问到的都是同1个静态成员.
               子类和父类共享1个静态成员.静态成员仍然只存在1份.

          7.  继承的好处:
              a. 减少代码的冗余.
              b. 修改维护极为方便.
              c. 为了多态.

转载于:https://www.cnblogs.com/lijingyang/p/3769014.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值