zoukankan      html  css  js  c++  java
  • 访问修饰符

    前面我们已经看到并运用了访问修饰符,现在我们来进一步的掌握。


    类成员支持五种访问修饰

    访问不受限制 public(公共的)
    访问范围限定于它所属的类或从该类派生的类型 protected (保护的)
    访问范围限定于此程序 internal(内部的)
    访问范围限定于此程序或那些由它所属的类派生的类型 protected internal(内部保护的)
    访问范围限定于它所属的类型 private(私有的)

    注意:上面这些修饰都是对类而言的,以上的访问修饰符描述的对类内部成员的访问可见修饰。

    publc所修饰值是完全公开的,不管是子类还是同程序集(代码可见范围)都是可以访问的。

    protected所修饰值除了类本身,子类也可以访问

    internal所修饰值除了类本身,同程序集(代码可见范围)都是可以访问的。

    protected internal所修饰值除了类本身,子类或同程序集(代码可见范围)都是可以访问的。

    private所修饰值除了类本身,都不可以访问。

    举一个俗气的例子,你中了500W大奖,是个有钱人啦,要对自己的财务做点规划。
    第一笔钱,大家都可以用,狐朋狗友阿,亲属阿,老婆孩子啊,所需花费都可以用这笔钱。
    第二笔钱,给你孩子留得,将来的教育基金阿,嫁妆娶老婆啊,等等
    第三笔钱,给你的亲属的,父母,岳父岳母,亲戚,老婆等等
    第四笔钱,使家族基金,家族中不管老幼还是你孩子或是你的私生子都可用。
    最后一笔钱,是你的私房钱,连老婆都不可以晓得。

     1    public class Space
     2    {
     3
     4        public static void Main(string[] args)
     5        {
     6            //错误CostPrice不可以访问
     7            System.Console.WriteLine(new SalesContract().CostPrice);
     8
     9            //在代码可以同见范围内,PreferentialPrice可以访问
    10            System.Console.WriteLine(new SalesContract().PreferentialPrice);
    11
    12        }

    13
    14
    15
    16    }

    17
    18    public class Contract//合同
    19    {
    20        public string Buyer;//买方
    21        public string Seller;//卖方
    22        protected double CostPrice;//成本价(只有子类和自身可以访问)
    23    }

    24
    25
    26    public class SalesContract : Contract//销售合同 
    27    {
    28        private double MinimumPrice;//最低价
    29        public double SalePrice;//销售价格  
    30        public bool CheckPrice()//价格检查
    31        {
    32            //CostPrice在本类不必声明,基类已经声明了
    33            return SalePrice < Math.Min(MinimumPrice, CostPrice);
    34        }

    35        internal double PreferentialPrice;//优惠价
    36    }


  • 相关阅读:
    FastApi 进阶
    flask为多个接口添加同一个拦截器的方法
    记一次flask上传文件返回200前端却504的问题
    Python在项目外更改项目内引用
    go mod 拉取私有仓库
    go跳出多层循环的几种方式
    Zap简单使用
    记一次Goroutine与wg导致的问题
    go判断字符串是否是IP地址
    SpringBoot的启动流程
  • 原文地址:https://www.cnblogs.com/shyleoking/p/638119.html
Copyright © 2011-2022 走看看