一、什么叫做面向对象封装?

封装的概念:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。

二、面向对象封装有什么好处(为什么要封装)?

封装的目的:是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。

三、如何使用面向对象封装?

1、属性器    2、实例与静态方法   3、构造函数    4、重载   5、访问修饰符

1、常用访问修饰符的介绍

(1) public            该类的实例可以被任何其他类访问

(2) private          嵌套类,只能在定义它的类中使用

(3) protected      嵌套类,只能从定义它的类中和自此派生的类中使用

(4) internal         该类只能从同一个程序集的其他类中访问。这是嵌套类的默认访问方式。

2、属性器的定义和构造函数的定义

下面定义一个Person类!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication1
{public class Person{private string _name;private int _age;private string _sex;public string Name{get { return _name; }   //只读属性
        }public int Age{get { return _age; }set { _age = value; }    //可读可写
        }public string Sex{get { return _sex; }set { _sex = value; }   //可读可写
        }//1、类的构造函数public Person()    //不带参数的构造函数
        {}public Person(int Age, string Sex) //带参数的构造函数
        {this._age = Age;this._sex = Sex;             //this就是该类的实例化
        }public static string SayHi()   //2、静态方法
        {return "大家好";}public static string SayHi(string Name)   //3、重载
        {return Name + "大家好";}public string SayGoodBye()    //实例方法
        {return "再见";}}
}

类的属性器,方法,构造函数的使用。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication1
{class Program{static void Main(string[] args){Person p = new Person(16,"女"); //带参数的构造函数的使用
p.Sex="女"; // 属性器的使用
p.SayGoodBye();//实例方法的使用
Person.SayHi();//静态方法的使用
}}
}

实例方法的使用需要实例化,静态方法的使用直接调用类的方法即可!

3、重载

概念:就是方法名称相同,参数不同的两个以上的方法叫做重载

优点:给类的使用者带来很大的方便!

转载于:https://www.cnblogs.com/Lhuatao/p/3529852.html

C#面向对象(一) 封装相关推荐

  1. python面向对象编程 -- 封装、继承

    面向对象编程 -- 封装.继承 面向对象编程三要素:封装.继承和多态.本文主要看和封装.继承相关的概念:在python中多态的概念比较模糊,本文不做讨论. 1 封装 封装:将数据和操作组装到一起,对外 ...

  2. linux sdk 窗口句柄,Venus: 针对Linux平台上,对常用的系统API进行面向对象的封装SDK。...

    Venus 项目介绍 Linux平台上,对常用的系统API进行面向对象的封装SDK,使用C++实现,没有使用C++11特效,支持CentOS.Ubuntu.RedHat各个发行版本和不同内核版本使用, ...

  3. python面向对象编程(封装与继承)

    一. 面向过程编程语言 "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想.分析出解决问题所需要的步 骤,然后用函数把这些步骤一步一步实现,使用的时候 ...

  4. python面向对象(1) —— 封装

    面向对象由封装.继承和多态组成 封装:属性和方法写到类里 继承:子类继承父类方法与属性 多态:子类重写父类后再实例化为不同对象产生不同结果 类与对象 class Gun():def __init__( ...

  5. python 全栈开发,Day116(可迭代对象,type创建动态类,偏函数,面向对象的封装,获取外键数据,组合搜索,领域驱动设计(DDD))...

    昨日内容回顾 1. 三个类 ChangeList,封装列表页面需要的所有数据.StarkConfig,生成URL和视图对应关系 + 默认配置 AdminSite,用于保存 数据库类 和 处理该类的对象 ...

  6. Java 面向对象:封装详解

    Java 面向对象:封装详解 封装:属性私有,get/set 属性私有化 提供get/set方法操作数据 优点: 1.提高程序的安全性,保护数据 2.隐藏代码的实现细节 3.统一接口 4.系统可维护性 ...

  7. java程序员从笨鸟到菜鸟之_Java程序员从笨鸟到菜鸟之(二)面向对象之封装,继承,多态(上)...

    Java是一种面向对象的语言,这是大家都知道的,他与那些像c语言等面向过程语言不同的是它本身所具有的面向对象的特性--封装,继承,多态,这也就是传说中的面向对象三大特性 一:从类和对象开始说起: Oo ...

  8. Java 面向对象和封装

    目录 Java 面向对象和封装 面向对象思想的概述 类和对象的关系 什么是类 什么是对象 类和对象的关系 局部变量和成员变量的区别 this关键字 构造方法 一个标准的类 Java 面向对象和封装 面 ...

  9. 如何理解面向对象的封装、继承、多态

    如何理解面向对象的封装.继承.多态 面向对象可以说是一种对现实是事物的抽象,将一类事物抽象成一个类,类里面包含了这类事物具有的公共部分,以及我们对这些部分的操作,也就是对应的数据和过程. 面向对象思想 ...

  10. java面向对象(封装、重载、构造、继承)

    在上节课中主要学习了"面向对象"的封装.方法的重载. 1.类的继承:是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类或者基类,子类会自动拥有父类 ...

最新文章

  1. 最后一场「屏之争」:汽车大佬与硅谷巨头的贴身肉搏
  2. 对于基础太模糊下一步需要清晰 几个目标
  3. Android——Handler总结
  4. Docker镜像管理
  5. python使用redis第一节、环境配置
  6. 揭秘2019双11背后的云网络 – 双11网络架构和洛神系统
  7. 百度推出开发者搜索 Beta;雷军手机使用时长曝光;苹果败诉,电脑上可以模拟 iOS 系统 | 极客头条...
  8. Linux emacs考场配置及对拍脚本
  9. 【遥感影像处理与分析】遥感影像校正详解-辐射校正、几何校正流程与方法比较
  10. java简单记事本代码_Java实现的简易记事本
  11. 按压式按摩靠背的设计
  12. 报错:array_column函数未定义(原因:php版本问题)
  13. 用图片签名时,如何解决签名的图片会盖住内容的问题
  14. 苹果电脑安装双系统Mac和Win7,详细教程
  15. 两部手机怎样才能把数据都传过来_两台苹果手机怎么传数据最快(两台 iPhone 互传应用的 3 个小技巧)...
  16. 27、什么是DOM和BOM
  17. L1-003 个位数统计 (15 分)
  18. 用springboot jpa 报:No property yer found for type OrderMaster错
  19. PMCAFF | 小饭桌实战沙盘心得:积累不确定性中的确定性优势,一步步走向成功...
  20. Codeforces Round #328 (Div. 2) 592 B. The Monster and the Squirrel

热门文章

  1. 【杂谈】Oracle里scott的由来
  2. CSS如何修改placeholder样式
  3. 获取某一目录之下所有文件的大小
  4. Axure7.0 以及 中文汉化语言包下载 axure汉化包
  5. Centos6.3下利用changepassword修改samba账户密码
  6. 程序员的比较工具大杂烩
  7. 【ccf-csp201512-5】矩阵
  8. Docker上的虚拟网络-Weave Net
  9. 利用certutil.exe实现在批处理(bat)中嵌入可执行文件或者各种媒体、图片之类二进制文件的简单方法!...
  10. ssh: connect to host 192.168.57.131 port 22: Conne