C# 认识继承和继承的范围_继承

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/CQL_K21/article/details/87255892
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _1300_认识继承和继承的范围_继承_
{
    class Duck//类的成员
    {
        public Duck()//构造方法。创建对象。
        { }
        ~Duck()//析构方法,销毁对象
        { }
        private int myint = 88;
        public string name = "天地一号";
        internal void Quack()
        {

            Console.WriteLine("嘎嘎嘎");
        }
        public static void ShangJia()
        {

            Console.WriteLine("鸭子上架");
        }
        protected void Swimming()
        {
            this.Quack();
            Quack();
            Duck.ShangJia();
            Console.WriteLine("游啊游");
        }

        // Duck myDuck = new Duck();

    }

    //继承:面向对象编程三大特征之一(封装、继承(代码的复用))
    //继承(代码的复用):(1)某个类的成员是另外一个类的成员子集合;(2)团队开发时候,代码的引用
    //基类(父类):被继承的;派生类(子类):继承之后的类
    //继承的范围(不能被继承的成员):构造函数、析构函数、私有成员;其他的都能被继承。
    //this:“快捷键的功能”,直接在类中调用本类的实例成员。
    class FlyDuck : Duck//继承:代码复用
    {
        public void Fly()
        {

            Swimming();
            Console.WriteLine("飞啊飞");
        }

    }
    class Program
    {
        static void Main(string[] args)
        {
            Duck myDuck = new Duck();
            Duck.ShangJia();
            FlyDuck myFlyDuck = new FlyDuck();
            myFlyDuck.Fly();
            Console.ReadLine();
        }
    }
}

//不能被继承的成员:构造函数、析构函数、私有成员;其他的都能被继承。
//调用:(1)类内部调用1:创建对象不出错,但无用,且运行时出错(不能调用所有成员)。
//调用:(1)类内部调用2:在类的内部用this调用本类实例成员,用“类名”调用静态成员。
//调用:(2)外部调用1:具有访问权限、用“对象”调用本类实例成员,“类名”调用静态成员;
// 分级访问修饰符 public  internal  protected private
//public:最大的访问权,被整个解决方案
//internal,本命名空间内(项目)访问
//protected被子类继承,或内的内部
//private被类的内部访问

 

展开阅读全文

没有更多推荐了,返回首页