09、封装与类成员

一、为什么要封装

  不必知道类中所有的细节,只需要把需要使用的开放出来。

二、如何封装

  Public--允许任何人来访问

  Internal--只要在同一个项目中即可访问

  Protected--继承时子类可以对基类的完全访问

  Protected Internal--它只可以被本组合体内所有的类和这些类的继承子类所存取

  Private--只允许同一个类中的成员进行访问

例子:

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _11
{
    public class Product
    {
        int money5;
        public int money;
        private int money1;
        internal int noney2;
        protected int money3;
        internal protected int money4;
        public int sold(int num)
        {
            money -= num;
            return money;
        }
        
    }
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace _11
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int number = int.Parse(tb_num.Text);
            Product p = new Product();
            p.money = 1000;
            int result = p.sold(number);
            label1.Text = result.ToString();
        }
    }
}

三、类成员

  1、 数据成员

     字段

      实例成员字段

      静态字段

      只读字段

      常量字段 

项目 只读字段 常量字段
申明关键字 readonly const
初始化 可以在初始化,构造函数和程序运行时初始化。 只能在申明的时候初始化。
实例或静态 可以是静态的,默认不是静态的。 只是隐式静态
数据类型 可以是值类型,也可以是引用类型 只能是同建的值类型或枚举类型

     常量

     事件

  2、函数成员

    方法

    属性

    构造函数和析构函数

    运算符

    索引器

 

posted @ 2021-05-04 21:47  遵义枫叶  阅读(48)  评论(0编辑  收藏  举报