惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
GbyAI
GbyAI
阮一峰的网络日志
阮一峰的网络日志
Cloudbric
Cloudbric
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
宝玉的分享
宝玉的分享
I
Intezer
Simon Willison's Weblog
Simon Willison's Weblog
博客园_首页
The Cloudflare Blog
C
Cisco Blogs
AWS News Blog
AWS News Blog
IT之家
IT之家
Cyberwarzone
Cyberwarzone
罗磊的独立博客
美团技术团队
V
V2EX
Project Zero
Project Zero
A
Arctic Wolf
C
Cyber Attacks, Cyber Crime and Cyber Security
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
有赞技术团队
有赞技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
S
Schneier on Security
P
Privacy International News Feed
V
Visual Studio Blog
量子位
T
Tor Project blog
S
Securelist
腾讯CDC
A
About on SuperTechFans
T
Threat Research - Cisco Blogs
G
GRAHAM CLULEY
B
Blog RSS Feed
D
DataBreaches.Net
博客园 - 三生石上(FineUI控件)
B
Blog
NISL@THU
NISL@THU
L
Lohrmann on Cybersecurity
V
Vulnerabilities – Threatpost
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
L
LINUX DO - 热门话题
Recorded Future
Recorded Future

博客园 - kuning的程序博客

第一章 第二课 Using Resources 第一章 第一课 Using WPF Control Cmd,powershell 参考 百度WSUS 我也转关于软件测试的文章 了解WMI 英文面试题 据说是微软面试哦 算法 之 万年历 算法 之 哥德巴赫猜想 - kuning的程序博客 C# 理论学习 之 类、组,名称空间 C# 深入学习 之 Winform记录日志 C#深入学习 之 委托和事件 C#数据结构-排序之快速排序法 .Net本地化资源 PHP之安装篇 Sql Server中的行列互换 再叙2005Web控件(一) - kuning的程序博客 - 博客园 Poket PC 与 sqlserver2000(以上) RDA 方案
C# 理论学习 之 面向对象设计
kuning的程序博客 · 2010-03-21 · via 博客园 - kuning的程序博客

封装对象的原理

继承性

多态性

接口

  1. 封装就是类的内部成员和实现隐藏起来

好处

Ø良好的封装能够减少耦合

Ø类内部的实现可以自由地修改

Ø类具有清晰的对外接口

数据隐藏

是封装最有用的方式之一

实现方式:访问限制修饰符

Øpublic 无限制,允许任何人来访问

Øprotected internal = protected + internal

ØInternal 允许项目或程序内部的类来访问

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

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

l属性和索引器也用来封装类的细节,并提供公用接口给该类的用户

  1. 继承性(inheritance)

一个类可以有能力直接从另一个类获得其代码和数据

l派生类从基类那里获得其所有的成员

lpublic class InsuranceAccount : Account

lC# 中只支持单继承,多继承可以通过接口实现同样的功能

防止继承

public sealed class XX

例:

GUI设计的Form look and feel

都是从.NET Form class

继承下来的

l如果Class Child是继承Class Parent而来

ØChild的对象中包含一个Parent的对象

如何访问基类成员

  1. 派生类可以调用基类的方法
  2. 通过使用base关键字
  3. 派生类在访问基类的时候有一定的限制,不能访问 private 的成员;internal的基类成员只能被同一个程序集中的派生类访问
  • 多态
                • 编译时的多态:重载(overload):用于同一类中
                                                          • 方法名必须相同

                                                          • 参数列表必须不相同

                                                          • 返回值类型可以不相同

                                                  • 运行时的多态:覆写虚成员实现(override),虚方法可以被覆写;用于继承关系的类中

                                                  • 方法名必须相同

                                                  • 参数列表必须相同

                                                  • 返回值类型必须相同

  • 接口
  • 接口为类提供了蓝图,PM一级的人通常设计的时候会定义一系列的接口

    客户端需要一些接口,服务器端来实现这些接口来满足客户端的需求,类似协议的功能

    接口可以从多个基接口派生

    接口中所有方法必须是public的