zoukankan      html  css  js  c++  java
  • 封装继承多态性

    封装:它的意义在于防止代码被恶意篡改

    它提供了许多访问修饰符来保证封装:

    public 访问无限制

    protected 只能在本类和派生类中访问

    private 只能在本类中访问

    internal 只有同一个项目中的类可以访问

    继承:一个类继承另一个类,子类可以访问父类中的属性和方法,除非父类的访问权限不允许

    多态性:分为重载和覆盖两种。重载是函数名和一致,参数不一致,返回类型可以不一致,覆盖是函数名一致,但方法体不一致,例如虚函数和抽象类

    虚函数:父类中定义允许派生类重写的方法,用Virtual关键字定义,且必须给出方法体

    public class Animal 
    {
          public virtual void EatFood()
            {
                Console.WriteLine("Animal吃东西");
            } 
    }
    public class cat : Animal
    {
            public override void EatFood()
            {
                Console.WriteLine("Cat吃东西");
                //base.EatFood();
            }
    }
    虚方法

    抽象方法:在父类中定义子类必须实现的方法,用abstract关键字定义,且必须没有方法体

        public abstract class Animal//含有抽象方法的类必须是abstract
        {
            public abstract void eat();
        }
        public class cat  : Animal
        {
            public override void eat()
            {
                Console.WriteLine("catl重写的抽象方法");
            } 
        }
    抽象方法

    隐藏方法:在派生类中定义和父类中同名的方法,父类中的方法既可以是虚方法也可以不是,使用new关键字来定义

    public class animal
    {
            public void Sleep()
            {
                Console.WriteLine("Animal Sleep");
            }
     }
    public class cat : animal
    {
                //则在派生类Cat中定义隐藏方法的代码为:
            new public void Sleep()
            {
                Console.WriteLine("Cat Sleep");
            }
    }
    隐藏方法

    抽象方法和虚方法的区别

    1.抽象方法不能提供方法体,在派生类中必须强制重写该方法,虚方法必须提供了方法体,在派生类中可以不覆盖该方法。

    2.包含抽象方法的类必须是抽象类,且不能实例化,包含虚方法的类可以实例化。

    参考博客地址:http://www.cnblogs.com/zhangkai2237/archive/2012/12/20/2826734.html

  • 相关阅读:
    接口自动化测试方案详解(转载)
    接口测试用例设计实践总结(转载)
    API接口测试用例编写规则(转载)
    python+requests实现接口测试
    Python3中替代Python2中cmp()函数的新函数(gt,ge,eq,le,lt)
    python write和writelines的区别
    Python2X和Python3X 除法运算符的使用:
    python 生成测试报告并发送邮件
    Python中join函数和os.path.join用法
    linux 常用命令
  • 原文地址:https://www.cnblogs.com/runninglzw/p/4435707.html
Copyright © 2011-2022 走看看