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

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
博客园_首页
Google DeepMind News
Google DeepMind News
博客园 - 【当耐特】
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Recent Announcements
Recent Announcements
aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
B
Blog RSS Feed
人人都是产品经理
人人都是产品经理
MongoDB | Blog
MongoDB | Blog
量子位
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
有赞技术团队
有赞技术团队
Jina AI
Jina AI
GbyAI
GbyAI

博客园 - 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的