zoukankan      html  css  js  c++  java
  • 面向对象三大特征之一封装

    封装是对方法、字段、属性等成员的一种保护,是将客观的现实世界抽象为类、对象等,将操作等

    集中在一个类中,通过实例化的对象调用属性、方法,而不需要连接类内部的实现,且类内部的改

    变不会影响对象对属性、方法的调用

     

    C#中常用的修饰符

    public 公共的,人和地方都能访问

    private 私有的,只能在类内部访问(类中的成员默认是私有的)

    protected 受保护的,类内部和子类中能访问

    internal 内部的,在程序集(命名空间)中可以访问(类默认是内部的,可以修改为公共的)

     

    封装最常见的例子是属性对字段的保护

    代码例子

     1 private int _age;
     2 public int Age
     3 {
     4     set
     5        {
     6          if (value<=0 || value>120)
     7             {
     8               _age = 0;
     9              }
    10            else
    11              {
    12              _age = value;
    13              }
    14      }
    15       get
    16         {
    17            return _age;
    18         }
    19 }
    View Code

    代码解析:

    private int _age 在堆中定义了一块私有空间

    set 方法打开在这块空间写的锁,如无set方法则无法修改字段的值,可以修改属性

    Age的值来修改字段_age

    get方法打开了这块空间读的锁,如无get方法则无法获取字段的值

     

    通过属性的set方法,在设置字段的值的时候,0岁及以下的或120以上,都会设置为

    0岁,避免错误的输入导致错误。

     

    封装不仅体现在字段属性上,还体现在方法上,而方法则主要表现在继承上。

  • 相关阅读:
    C. New Year Book Reading
    B. New Year Permutation
    A. New Year Transportation
    D. The Child and Zoo
    python 3.6 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte错误
    VB ListView控件各种操作详解
    开发者工具下载
    phpstorm10激活加汉化
    Windows Server 2016 配置指南 之 FTP环境搭建篇
    VB.NET Jobject 解析 JSON
  • 原文地址:https://www.cnblogs.com/arvinzd/p/14172356.html
Copyright © 2011-2022 走看看