• 四-面向对象-继承


    继承:
    一、什么是继承
    概念:父亲有的东西,并且允许继承,所有孩子就都会有

    一个父类可以拥有多个子类
    一个子类只能拥有一个父类


    二、父子之间的转换
    子类可以转换成父类,这个父类只能转换成之前的子类

    ------子类可继承父类,父类可代表子类;兄弟之间不可继承。 

    复制代码
    namespace 继承
    {
        class Program
        {
            static void Main(string[] args)
            {
                Fly f = new Fly(); //实例化
                //f.Fling();
                f.Chibang = "用来飞的,什么样都行,只要能飞";
    
                Bird b = new Bird();
                //b.Fling();
                b.Chibang = "羽毛的";
                //b.Chi();
    
                Plane p = new Plane();
                //p.Fling();
                p.Chibang = "合金的";
                //p.Chi();
    
                //Fly f2 = (Fly)b;
                //f2.Fling();
    
                //Bird b2 = (Bird)f2;
                //b2.Chi();
    
                //Plane p2 = (Plane)f2;
                //p2.Chi();
    
                Bird b3 = new Bird();
                Fly f3 = (Fly)b3;
    
                Plane p3 = (Plane)b3;
                p3.Chi();
    复制代码
    namespace 继承
    {
        class Plane : Fly
        {
            public void Chi()
            {
                Console.WriteLine("汽油和柴油");
            }
    复制代码
    复制代码
    namespace 继承
    {
        class Fly
        {
            /// <summary>
            /// 飞行
            /// </summary>
            public void Fling()
            {
                Console.WriteLine("我会飞行!");
            }
    
            private string _chibang;
    
            public string Chibang
            {
                get { return _chibang; }
                set { _chibang = value; }
            }
    复制代码
    复制代码
    namespace 继承
    {
        class Bird : Fly
        {
            public void Chi()
            {
                Console.WriteLine("虫子和谷子");
            }
        }
    复制代码
     
    复制代码

    1、访问修饰符:

    对于跨类访问的一个权限限制

    public : 公共的,引用命名空间即可随意访问,最高访问权限。

    private : 私有的,只有在声明它的类和结构中才可以访问,访问权限最低。

    Internal : 内部的,同一个程序集中所有的类都可以访问,程序集就是命名空间。(现阶段使用较少没有详细实例)

    (不在同一命名空间时:导入命名空间后可以正常使用;方法:实例化+右键类名→解析→using 类)

    Protected : 受保护的,只能在他自己和自己的子类中才能访问。(现阶段使用较少没有详细实例)

    2、命名空间 = 程序集

    一组类的组名

    3、静态方法

    static用来定义静态方法和属性;

       非静态方法需要实例化对象然后用对象来调用;

       Random r = new Random();//实例化

       r.Next(); -- 非静态方法的使用方式

      

       静态方法,可以实例化对象、也可不实例化对象,直接用类就能点出来使用;

       Console.Write();  --静态方法的使用方式

                          (直接用类名点出来)

    复制代码
    using stu;  --------引用类
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    
    namespace 继承
    {
        class Program
        {
            static void Main(string[] args)
            {
                Student s = new Student();
    
                s.Stu_Say();
    
                Student.Say();
    
    
                Random r = new Random();
    
                Console.ReadLine();
            }
        }
    }
    复制代码
  • 相关阅读:
    C++顺序性容器、关联性容器与容器适配器
    Groovy与Java集成常见的坑--转
    selenium打开chrome浏览器代码
    分组密码的工作模式--wiki
    linux下C语言多线程编程实例
    C语言多线程pthread库相关函数说明
    C语言使用pthread多线程编程(windows系统)二
    C语言使用pthread多线程编程(windows系统)一
    使用_beginThreadex创建多线程(C语言版多线程)
    浅谈C语言中的联合体
  • 原文地址:https://www.cnblogs.com/tonyhere/p/5603642.html
Copyright © 2020-2023  润新知