C#入门经典—第八章
来源:互联网 发布:如何查看ftp的端口号 编辑:程序博客网 时间:2024/05/01 17:44
第八章 面向对象编程简介
- 什么是面向对象编程
- OOP技术
- Windows Forms应用程序对OOP的依赖关系
8.1 面向对象编程的含义
OOP技术常常要使用许多代码模块,每个模块都能提供特定的功能,每个模块都是独立的,甚至与其它模块完全独立。
这种模块化方法提供了非常大的多样性,大大增加了重用代码的机会。
8.1.1 对象的含义
对象就是OOP应用程序的一个组成部件。
这部分程序可以是一个过程、一些数据或一些更抽象的实体。
使用统一建模语言(UML)语法研究类和对象。
UML是为应用程序建模而设计的,从组成应用程序的对象,到它们执行的操作等。
1. 属性和字段
可以通过属性和字段访问对象中包含的数据。
常见情况是把字段设置为私有,通过公共属性访问它们。
2. 方法
方法用于表示对象中的函数。
8.1.2 一切皆对象
8.1.3 对象的生命周期
每个对象都有一个明确定义的生命周期,除了“正在使用”的正常状态外,还有两个重要的阶段:
- 构造阶段:对象最初进行实例化的时期。
- 析构阶段:在删除一个对象时,常常要执行一些清理工作。
构造函数就是用于初始化数据的函数。
所有的类定义都至少包含一个构造函数。
在这些构造函数中可能有一个默认的构造函数,该函数没有参数,与类同名。
还可能包含几个带参数的构造函数,为非默认的构造函数。
在C#中,使用new关键字来调用构造函数。
8.1.4 静态和实例类成员
静态成员可以在类的实例间共享,所以可以将它们看作是类的全局对象。
静态属性和静态字段可以访问独立于任何对象实例的数据。
静态方法可以执行与对象类型相关、但与对象实例无关的命令。
1. 静态构造函数、
静态构造函数不能直接调用,只能在下述情况下执行:
- 创建包含静态构造函数的类实例时。
- 访问包含静态构造函数的类的静态成员时
8.2 OOP技术
对象的其它一些特性:
- 接口
- 继承
- 多态性
- 对象之间的关系
- 运算符重载
- 事件
- 引用类型和值类型
8.2.1 接口
接口是把公共实例(非静态)方法和属性结合起来,以封装特定功能的一个集合。
注:
接口不能单独存在。
接口不能包含实现其成员的任何代码,而只能定义成员本身。
实现过程必须在实现接口的类中完成。
可删除的对象
IDisposable接口。
支持IDisposable接口的对象必须实现其Dispose()方法,即它们必须提供这个方法的代码。
8.2.2 继承
C#中的对象仅能直接派生于一个基类。
可访问性:
派生类不能访问基类的私有成员,但可以访问其公共成员。
只有派生类才能访问protected成员。
外部代码不能访问protected和private成员。
8.2.3 多态性
8.2.4 对象之间的关系
- 包含关系
- 集合关系
8.2.5 运算重载符
8.2.6 事件
8.2.7 引用类型和值类型
8.3 Windows应用程序中的OOP
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication3{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { ((Button)sender).Text = "Clicked!"; Button newButton = new Button(); newButton.Text = "New Button!"; newButton.Click += new EventHandler(newButton_Click); Controls.Add(newButton); } private void newButton_Click(object sender, System.EventArgs e) { ((Button)sender).Text = "Clicked!"; } }}
- C#入门经典—第八章
- C#入门经典第八章
- 算法竞赛入门经典 第八章总结
- C#入门经典—第二章
- C#入门经典—第三章
- C#入门经典—第四章
- C#入门经典—第五章
- C#入门经典—第六章
- C#入门经典—第七章
- C#入门经典第四章
- C#入门经典第五章
- C#入门经典第六章
- C#入门经典第七章
- C#入门经典第九章
- C#入门经典第十章
- C#入门经典第十二章
- C#入门经典第十一章
- C#入门经典第十四章
- Android 漂亮的 Dialog (弹出框)
- HDOJ 3435 - A new Graph Game 无向图分割成若干哈密顿回路(二分图最小权匹配,最小费用最大流).
- delphi 读写文本文件
- QT4.5.2移植MC100环境搭建步骤
- android dalvik heap 浅析
- C#入门经典—第八章
- fpga分配引脚
- Android动画学习笔记-Android Animation
- SQL连接池
- HDU 1686
- jdk安装及环境变量的配置
- HDU1509-priority_queue
- win7防火墙开放某个端口
- XFdtd 7.3.2发布增强生物电磁学中的核磁共振功能