一文解析封装,继承,多态,泛型,泛型方法

类的三大特点,封装,继承,多态,
封装:就是将一组相关联的成员封装起来,比如我们的方法,类的封装,封装完以后,可以用不同的对象去调用
protect 修饰符,只能在本类或者子类中去调用
继承:父子关系,子类可以从父类中继承成员,去进行调用
一个子类只能继承一个父类。(后面会讲到接口,一个类可以继承很多接口)

多态,同一个成员,具有不同的表现形式
虚方法和方法的重写。
虚方法:virtual 修饰
 重写:override

首先创建个student类 去继承Person

internal class Student:Person
    {
        public override void PersonMenthod()
        {
            Console.WriteLine("这是子类中方法的重写");
            //base.test("");  //只能调用公共成员
        }


    }

下面是Person类

 internal class Person::Myabstractclass
    {
        public void Test()
        {
            Console.WriteLine("父类中的普通方法");
        }
        public virtual void PersonMenthod()
        {
            Console.WriteLine("这是父类中的虚方法");
        }
        private void test(string str)
        {
            Console.WriteLine("这是父类中的私有方法{0}"+ str);
        }
        public override void AbstractMethod()
        {
            Console.WriteLine("抽象方法实现了重写");
        }
    }

下面是Program类里去调用,实例化student类,就可以调用Person类里的方法

Student st = new Student();  //student类里没有任何成员,因为继承了Person类,因此可以调用person里面的成员  
 st.Test();
 st.PersonMenthod(); //在子类中重写了方法,在哪里调用都是调用的重写后的方法。
                                this.   和base.
                                this.调用类下所有成员,包括父类,子类。
                                base.调用的是父类中的公有成员。

密封类   sealed,密封类无法被继承,比较简单不多啰嗦

部分类,  parital 将 一个类分成几个部分。比较简单不多啰嗦

抽象类,abstract :抽象类无法被实例化,(实例化就是创建一个类的对象 并且可以创建构造函数的过程)但是可以创建对象。

下面是创建的抽象类

 abstract class Myabstractclass
    {
        public abstract void AbstractMethod();//抽象方法只能有方法声明,不能有方法体


    }

 Myabstractclass mac = new Myabstractclass();会报错*/ //无法创建抽象类型的实例
            //Myabstractclass mac = new Person();
            抽象类虽然无法实例化,但是可以通过调用子类的构造函数开辟空间
            调用谁的构造函数开辟空间,就属于哪个类型
            //Person P = (Person) mac;
            //抽象方法只能有方法声明,不能有方法体。当一个抽象类里有抽象方法的时候,在继承的子类里必须要继承重写
            //P.AbstractMethod(); 


            //接口 interface
            //C#没有多重继承,只能继承一个父类,但是提供了接口
            //接口也可以作为类的成员
            //接口中的成员不能有访问修饰符  接口中的方法同样不能有方法体
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值