面向对象三大特性: 封装
封装
封装:每个对象都包含有它能进行操作的所有信息,这个特性称为封装。这样的方法包含在类中,通过类的实例来实现。
e.g. 我们可以使用遥控器。 遥控器有多个功能
封装的优点
A.良好的封装能够减少耦合(比如实现界面和逻辑分离)
B.可以让类对外接口不变,内部可以实现自由的修改
C.类具有清晰的对外接口,使用者只需调用,无需关心内部
D.因为封装的类功能相对独立,因此能更好的实现代码复用
E.可保护代码不被无意中破坏,通过私有字段等实现内部。注意:这里的代码保护不是指代码本身的加密,而是对不想外部更改的代码通过私有实现。
/// <summary> /// 狗狗类 /// </summary> class Dog {string _dogName;readonly Color _dogColor=Color.Yellow;readonly double _dogPrice = 800.00;int _shoutNumber;/// <summary>/// 构造函数/// </summary>/// <param name="dogName"></param>public Dog(string dogName){DogName = dogName;}/// <summary>/// 狗狗名字 公有属性/// </summary>public string DogName{get { return _dogName; }set { _dogName = value; }}/// <summary>/// 狗狗颜色 只读属性 (颜色一出生就是这个颜色,这里只提供只读,当然这里不考虑染色)/// </summary>public Color DogColor{ get { return _dogColor;} }/// <summary>/// 狗狗价格 只读属性 (这是买来的价格,历史是不可以修改的)/// </summary>public double DogPrice{get { return _dogPrice; }}/// <summary>/// 狗叫的次数 (不同的陌生人来,叫的次数不同)/// </summary>public int ShoutNumber{set{_shoutNumber=value;}get { return _shoutNumber; }}/// <summary>/// 狗叫的方法/// </summary>public void Shout(){int i=0;string ShoutNum="";do{ShoutNum += "旺!";i++;} while (i <= ShoutNumber);MessageBox.Show(ShoutNum);} }
封装要点
1.封装就是把一个object的所有properties和methods放在一起
2.保持统一的对外接口,内部修改不影响外部调用
转载于:https://www.cnblogs.com/TheMiao/p/9255932.html
面向对象三大特性: 封装相关推荐
- C++面向对象三大特性——封装与信息隐蔽
4.1 封装(实现手段--class) 有意义的事物都可以抽象.在抽象类的时候不要想着代码是怎么实现,而是用自然语言去分析逻辑即可!否则极易出错. 4.1.1 封装的意义 封装是C++面向对象三大特性 ...
- Python OOP:面向对象三大特性(封装、继承、多态)、类属性和实例属性、类方法@classmethod、静态方法@staticmethod、函数和类callable、__call__
一.面向对象三大特性 二.多态 定义:多态是⼀种使⽤对象的⽅式,⼦类重写⽗类⽅法,调⽤不同⼦类对象的相同⽗类⽅法,可以产⽣不同的执⾏结果. 一个父类,可以继承给多个子类,每个不同的子类可以创建多个对象 ...
- Java面向对象三大特性(封装、继承、多态)
文章目录 前言 一.封装 1. 封装的概念 2. private实现封装 3. getter和setter方法 4.封装的好处 二.继承 1. 继承的概念 2. extends实现继承 3. supe ...
- 深入理解Java面向对象三大特性 封装 继承 多态
1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...
- Java面向对象三大特性(封装继承多态)解释及案例
文章目录 包 包基本语法 命名规则 命名规范 导入包实例 访问修饰符 面向对象编程-封装 面向对象编程-继承 super关键词 super和this的比较 方法重写/覆盖 (override) 注意事 ...
- 面向对象三大特性-封装
封装: [封装] 隐藏对象的属性和实现细节,仅对外提供公共访问方式. [好处] 1. 将变化隔离: 2. 便于使用: 3. 提高复用性: 4. 提高安全性: [封装原则] ...
- python面向对象三大特性_Python面向对象之多态原理与用法案例分析
本文实例讲述了Python面向对象之多态原理与用法.分享给大家供大家参考,具体如下: 目标 多态 面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 定义类的准则 继承 ...
- Study16 面向对象三大特性
面向对象三大特性 封装: 该露的露,该藏的藏 程序设计要求**"高内聚,低耦合"**.高内聚就是类的内部数据操作细节自己完成,不允许外部干涉:低耦合:仅暴露少量的方法给外部使用 封 ...
- JS面向对象三大特性
首先对象的声明语法 1.通过Object var object = new Object(); //动态添加属性.方法 object.name='test'; object.method = func ...
最新文章
- php图片特效,php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
- Ubuntu Server 16.04服务器版配置图解教程06 - 安装MySql
- C#异步编程的实现方式(1)——异步委托
- MOSS点滴(1):如何开发和部署feature
- 2015 Google code jam Qualification Round A 水
- 观察者模式在个人网站邮件发布与订阅中的实践
- jQuery实现分页
- 静态工具类注入service的方法
- copyof java_JDK10——copyOf方法
- AlphaBlend
- 服务器的虚拟内存怎么调,服务器的虚拟内存怎么调才好
- OCP 12c最新考试原题及答案(071-4)
- 读react.js小书 抽象公共组件类
- 虚拟机安装Win7系统
- 1. NET 6.0 前言
- textbox提示文字属性_《我来自江湖》MUD类武侠题材多样性玩法的单机文字游戏...
- SM2/RSA证书工具--简单CA实现
- 符号Symbol介绍及应用
- ubuntu14.04 有道辞典 安装成功后 打不开 的 解决办法
- 人工智能到底有多强大?
热门文章
- NB模组基本AT指令
- display:table-cell自适应布局下连续单词字符换行
- JS之返回字符串最后出现的位置lastIndexOf
- socket的阻塞模式和非阻塞模式(send和recv函数在阻塞和非阻塞模式下的表现)
- 设计一个按优先数调度算法实现处理器调度的程序_计算机中的程序都是怎么运行的,来深入了解一下吧...
- 基于matlab的车流量检测,求解释代码,一段交通车流量检测的代码
- H3C 环路避免机制一:路由毒化
- scratch少儿编程第一季——07、人要衣装佛靠金装——外观模块
- ubuntu中使用apt-get安装zbar
- cocos2d-x 2.2 创建项目