---------------面向对象编程简介---------------

UML表示方法:

  1)方框上中下三分

  2)上框写类名

  3)中框写属性和字段,例如:+Description:string +公共成员-私有成员  Description成员名  string成员类型

  4)下框写方法,例如:+AddSugar(in amount:byte):byte +公共成员-私有成员 in/out/inout数据流方向

  5)静态成员带下划线

  6)接口:画在类名边,棒棒糖型

  7)继承:从子类向父类的箭头

构造函数: 构造函数与类同名,默认构造函数无参数,可定义带参数的非默认构造函数

静态成员: 静态成员可在类的实例间共享,可看做类的全局对象

---------------定义类---------------

class关键字定义类

类的修饰符关键字:

  public/protected/private  公共类/受保护类/私有类

  abstract/sealed  抽象类(不能实例化,只能继承)/密封类(不能继承)

继承: 先继承基类,然后才能指定支持的接口,不得反转,接口可支持多个

interface关键字定义接口

接口的修饰符关键字:

  public  公共接口

---------------定义类成员---------------

可用关键字static,表示静态成员

 定义字段可用关键字readonly,表示只能在执行构造函数过程中赋值,或由初始化赋值语句赋值

 定义方法关键字:

  virtual——方法可重写

  abstract——方法必须在非抽象的派生类中重写(只用于抽象类中)

  override——方法重写了一个基类方法

  extern——方法定义放在其他地方

 定义属性可用get{}set{}代码块,可用virtual/override/abstract关键字

显式隐藏基类方法:

 public class MyBaseClass
{
public void DoSomething()
{}
}
public class MyDerivedClass : MyBaseClass
{
new public void DoSomething()
{}
}

注意隐藏和重写的区别

接口的实现:

 1)所有接口成员都是公共的

 2)接口成员不能包含代码体

 3)接口不能定义字段成员

 4)接口成员不能用关键字static/virtual/abstract/sealed来定义

 5)类型定义成员是禁止的

在类中实现接口:

 实现接口的类必须包含该接口所有成员的实现代码,且必须匹配指定的签名(包括匹配指定get和set块),并且必须是公共的

 可用关键字virtual或abstract来实现,也可在基类上实现接口

 如果显式实现接口成员,那该成员就只能通过接口来访问,不能通过类来访问

 例如:

 public class MyClass:IMyInterface
{
public void IMyInterface.DoSomething()
{}
public void DoSomethingElse()
{}
}

由于DoSomething()是显式实现的,而DoSomethingElse()是隐式实现的,之后后者可以直接通过MyClass的对象实例来访问。

部分类定义:

 把类的定义放在多个文件中,需要对每个此类的定义文件中使用partial关键字 例如:

 public partial class MyClass
{

}

在另一个文件中

1 public partial class MyClass
2 {
3 …
4 }

C#入门经典(第五版)学习笔记(三)的更多相关文章

  1. Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-2-driver

    1>使用的driver 1〉generic 使用带有SSH的现有VM/主机创建机器. 如果你使用的是机器不直接支持的provider,或者希望导入现有主机以允许Docker Machine进行管 ...

  2. Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥

    1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 ...

  3. 《c#入门经典第五版》简介及pdf电子书网盘下载地址(收藏)

    <C#入门经典(第5版)>全面讲解C# 2010和.net架构编程知识,为您编写卓越C# 2010程序奠定坚实基础.C#入门经典系列是屡获殊荣的C#名著和超级畅销书.最新版的<C#入 ...

  4. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  5. Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-1-cli

    Docker Machine 是 Docker 官方编排(Orchestration)项目之一,负责在多种平台上快速安装 Docker 环境 Docker Machine是一种工具,它允许你在虚拟主机 ...

  6. Docker技术入门与实战 第二版-学习笔记-5-容器-命令及限制内存与cpu资源

    1.启动容器 启动容器有两种方式: 基于镜像新建一个容器并启动 将在终止状态(stopped)的容器重新启动 1)新建并启动——docker run 比如在启动ubuntu:14.04容器,并输出“H ...

  7. C++Primer第五版学习笔记

    <C++ Primer>Learning Note 程序实例下载地址:http://www.informit.com/title/0321714113 第一章            开始 ...

  8. Docker技术入门与实战 第二版-学习笔记-9-Docker Compose 项目-1-举例说明

    Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用 Compose 通过一个配置文件来管理多个Docker容器,在配置文件中 ...

  9. Docker技术入门与实战 第二版-学习笔记-6-仓库

    仓库(Repository)是集中存放镜像的地方 一个容易混淆的概念是注册服务器(Registry). 实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像. ...

  10. Docker技术入门与实战 第二版-学习笔记-7-数据管理(volume)

    Docker 数据管理 为什么要进行数据管理呢?因为当我们在使用container时,可能会在里面创建一些数据或文件,但是当我们停掉或删除这个容器时,这些数据或文件也会同样被删除,这是我们并不想看见的 ...

随机推荐

  1. 使用Git将本地代码上传到GitHub

    #1注册GitHub账号 *1)到https://github.com/注册GitHub账号 #2在GitHub上建立GitHub仓库 *1)登录后点击右下方的"new repository ...

  2. 织梦CMS(dedecms)栏目属性及系统封面模板、列表模板、文章模板区别和路径设置解答

    问题一:(织梦"栏目管理"的"常规选项"中3个栏目属性分析?) 织梦CMS的栏目属性分成三种, -->最终列表栏目 -->频道封面 -->外部 ...

  3. Android 国内镜像

    Android SDK官网国内很难直接访问,除了FQ/VPN等方法还是很不方便. 原有的Android SDK直接下载因http://dl-ssl.google.com/android/reposit ...

  4. js 的 提交

    <script type="text/javascript"> function sub(){ if(document.form1.xingming.value==&q ...

  5. Linux学习笔记23——取消线程

    一 相关函数 1 发送终止信号 #include <pthread.h> int pthread_cancel(pthread_t thread); 2 设置取消状态 #include & ...

  6. StringBuilder字符串缓冲区

    JDK1.5出现StringBuiler:构造一个其中不带字符的字符串生成器,初始容量为 16 个字符.该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候( ...

  7. 代码编写横屏的UIView

    - (id )initWithFrame:(CGRect )frame { if (self = [super initWithFrame :frame]) { // Important here, ...

  8. Winform 中 DesignMode 返回值不正确的问题。

    本文转载:http://blog.csdn.net/sabty/article/details/5325260 以前也曾遇到这样的问题,不过影响不大也没有去详细了解.今天又重新遇到此问题,实在太不便. ...

  9. Cocos2d-x 3.0 红孩儿私家必修 - 第二章 cpp-empty-test

    上一章我们讲到说曾经的HelloWorld演示更名为cpp-empty-test. 本章我们来分析一下 执行程序,我们能够看到熟悉的HelloWorld程序:与之前cocos2d-x2.x版本号的He ...

  10. jQuery Animation实现CSS3动画

    jQuery Animation的工作原理是通过将元素的CSS样式从一个状态改变为另一个状态.CSS属性值是逐渐改变的,这样就可以创建动画效果.只有数字值可创建动画(比如 "margin:3 ...