zoukankan      html  css  js  c++  java
  • 四-面向对象-继承

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

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


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

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

    复制代码
    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();
            }
        }
    }
    复制代码
  • 相关阅读:
    Mysql索引优化
    [ExtJS5学习笔记]第六节 Extjs的类系统Class System命名规则及定义和调试
    [ExtJS5学习笔记]第五节 使用fontawesome给你的extjs5应用增加字体图标
    【翻译】Ext JS 5.0.1 中的新功能
    OpenCV——PS图层混合算法(六)
    [IDE工具配置]myeclipse 2014 专业版 安装 svn插件
    OpenCV——PS 图层混合算法 (四)
    [ExtJS5学习笔记]第四节 欢迎来到extjs5-手把手教你实现你的第一个应用
    [ExtJS5学习笔记]第三节 sencha cmd学习笔记 生成应用程序构建的内部细节
    [ExtJS5学习笔记]第二节 Sencha Cmd 学习笔记 使你的sencha cmd跑起来
  • 原文地址:https://www.cnblogs.com/tonyhere/p/5603642.html
Copyright © 2011-2022 走看看