• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

天轰穿C# -vs2010 - 04面向对象的编程之访问修饰符【原创】

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一点都不麻烦,它只是通过访问修饰符来控制的,我们昨天的例题中就用到过,public 就是一个,不过它的作用就是将成员完全公开出来。接下来我们看下全部访问修饰符。

Public——允许任何人来访问。

Internal——只要在同一个项目(不是解决方案)中均可访问。

protected——继承时子类可以对基类有完全访问权。

protected internal ——唯一的一种组合限制修饰符,它只可以被本组合体内所有的类和这些类的继承子类所存取。

private——只允许同一个类中的成员访问。


例:做一个商品出售的Demo 界面如图4-14
 

                                4-14

创建一个Products的类,在Products.cs中添加如下的代码:

public class Products

    {

        public int number;          //对外公开,无保护

        // private int number;      // 访问权限为私有,只有本类内部可以访问

        // protected int number;    //继承保护,只有本类自身和其子类可以访问,外部不访问

        // internal int number;     // 只要在同一个项目(不是解决方案)中均可访问

        // int number;              // 不行,因为在默认的情况下是pravite限制符

        public bool sold(int amt) // 方法的访问修饰符同样效果,可以尝试换着用用
        {
            number -= amt;
            return true;
        }
    }

From1窗体上鼠标右键-查看代码,在From1的构造函数(后面具体讨论构造函数)中初始化,代码如下

public partial class Form1 : Form

    {

        Products p;         //这里申明一个私有的Products类型变量,没有访问修饰符默认为私有

        public Form1()

        {

            InitializeComponent();

            p= new Products();

            p.number = 1000;  //尝试将Products中几个字段的访问修饰符换下,看看这里的效果

            label2.Text = p.number.ToString();

        }
    }

双击From1窗体上【出售】按钮,在事件中添加如下代码:

private void button1_Click(object sender, EventArgs e)

        {

            //尝试将Products中几个字段的访问修饰符换下,看看这里访问方法的效果

            p.sold(Convert.ToInt32(tb_num.Text));

            label2.Text = p.number.ToString();

        }

    

       小天:也就是说如果将字段、常量、方法等用private修饰后,那么这些对象就只有在当前类的内部可以访问对吧?可是什么情况下用private,什么情况下用public呢,还有其他几个访问修饰符呢?

本文章为天轰穿原创文章,转载请注明出处及作者。 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap