C#入门(面向对象概念)
也许是看概念性的东西太多了,所以一看基本就明白,但实际并没有掌握,有待实操。反而是UML(统一建模语言)引起了我的兴趣,发现这东东很像建筑行业的图纸:有标准和约定,很方便专业人士看懂程序的架构和逻辑。
IBM上有一系列的文章:http://www.ibm.com/developerworks/cn/rational/r-uml/index.html
UML在团队中的重要性应该比较高吧?
这一章主要讲了OOP(面向对象编程)的概念,然后通过动态创建Button案例来说明这些概念:
- OOP含义
- 对象,是类的命名实例。类就像模板,对象基于模板创建。
- 属性、字段、方法,都是对象所拥有的。就像一个人(对象),有属性:年龄、身高、酒量,方法:走路、奔跑。
- 构造函数分:默认和非默认,用来初始化对象,和类同名。就像Car myBMWCar = new Car(),当所有构造函数为私有时,该类不允许被实例化
- 析构函数,不太重要
- 静态
- 类拥有的静态方法、属性、字段,在使用不用创建相应的实例,例如Console.Write()
- 可以创建静态类,该类不能有实例构造函数,但可以有静态构造函数
- 静态类的好处:不用建实例,可直接使用
- OOP技术结语
- 接口(重要知识)
- 一个集合,把非静态的方法和属性组合起来
- 接口中的成员只能定义,不能有实现代码,所以,接口不会单独存在
- 例如:定义接口(动作),包括成员(走路、跑步),再定义两个类(男人、女人),都继承接口(动作),则这两个类有自己本身的特性(男、女),同时也可以实现走路、路步的动作
- 接口是一套标准。发布接口后,可扩展旧接口,还有版本号
- IDisposable接口必须实现其Dispose()方法
- 继承
- 注意成员的可访问性
- 多态性
- 还有接口的多态性
- 看得有点迷糊
- 其它(都看得迷糊)
- 对象间关系:包含、集合;
- 运算符重载;
- 事件(这个明白)
- 引用类型和值类型(这个简单)
- 接口(重要知识)
- 结语(书后的例子似懂非懂)
由于各方面的压力,书不再细看了,后面笔记仅记录可能记不住的重点内容,也不作思考分析。
请出速读神器~~~~
C#入门(面向对象概念)的更多相关文章
- MongoDB入门必读(概念与实战并重)
MongoDB入门必读(概念与实战并重) 一.概述 MongoDB是一个基于分布式文件存储的数据库开源项目.由C++语言编写.旨在为WEB应用提供可护展的高性能数据存储解决方案. MongoDB是一个 ...
- delphi 基础之二 面向对象概念初步
面向对象概念初步 •类自动生成 快捷键:ctrl+shift+c 1.类的定义 类是用户创建的数据类型,包括状态.表达式和一些操作.有3个组成部分,即字段.方法和属性.字段是类的内部数据变量,方法就是 ...
- 【转帖】H5 手机 App 开发入门:概念篇
H5 手机 App 开发入门:概念篇 http://www.ruanyifeng.com/blog/2019/12/hybrid-app-concepts.html 作者: 阮一峰 日期: 2019年 ...
- Git 入门:概念、原理、使用
出处: git入门:概念.原理.使用 git和Github 概念 Git --- 版本控制工具(命令). git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.git ...
- 《Java从入门到放弃》JavaSE入门篇:面向对象概念(入门版)
要知道什么是面向对象,你首先要有个对象吧,所以······没有对象的可以回家洗洗睡了· 好吧,前面是开玩笑,要说明什么是面向对象,我们还是先 例子: 小呆:"小傻,你今天早餐吃的什么?&qu ...
- Python入门之面向对象编程(一)面向对象概念及优点
概念 谈到面向对象,很多程序员会抛出三个词:封装.继承和多态:或者说抽象.一切都是对象之类的话,然而这会让初学者更加疑惑.下面我想通过一个小例子来说明一下 面向对象一般是和面向过程做对比的,下面是一个 ...
- JAVA入门 面向对象
主要内容 1.类和对象的概念 2.什么是面向对象 3.什么对象的属性方法 4.何谓对象引用 5.实例化 类和对象的概念 万物皆对象,客观存在的事物皆为对象.我们大到名胜古迹,小道生活中的一件物品,例如 ...
- 面向对象【day07】:面向对象概念介绍(二)
本节内容 1.概念 2.特性 3.面向对象介绍 一丶概念 1.面向对象编程 OOP(Object-Oriented Programming)编程是利用“类”和“对象”来创建各种模型来实现对真实世界的描 ...
- O-C相关-03:面向对象概念的具体介绍
1.面向对象的概念 面向对象(object-oriented ;简称: OO) 至今还没有统一的概念,我这里把它定义为:按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世 ...
随机推荐
- java问题排查可能用到的一些命令
1. jmap查询jvm内存使用情况 -heap :打印jvm heap的情况 -histo: 打印jvm heap的直方图.其输出信息包括类名,对象数量,对象占用大小. -histo:live : ...
- Xcode添加代码块
1.在编辑区写好代码 @property (nonatomic, assign) <#type#> <#name#> 在Xcode中实际输入完成之后显示的是下面的样子: 2.全 ...
- groupspecWidhoutAuthorizations与groupspecWidthAuthorizations的区别
GroupSpecifier是一个用来定义group所有参数的类.首先,将它命名为“myGroup/g1”.然后设置 serverChannel与Stratus进行沟通.最后发布.这样,我们就完成了P ...
- c#网络编程
c#网络编程 1.system.net命名空间 DNS类:DNS类包含了许多的方法,总结起来常用的就是获取获取主机地址,获取主机名,根据地址 获取DNS主机信息,根据主机名获取DNS信息: IPadd ...
- Sqlserver 函数(例子)
--SQL SERVER 2008 函数大全/*author:TracyLeecsdncount:Travylee*/ /*一.字符串函数:1.ascii(字符串表达式) 返回字符串中最右侧字符的 ...
- CE 内存申请
char ch_ReadByte='H'; char *ptr_OneLineData; unsigned ); if ((ptr_OneLineData = (char *)malloc(bufsi ...
- 配置JDK环境变量,与各步骤的意义
配置JDK环境变量 1,新建变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk1.7.0 (变量值为jdk安装路径) 2,打开P ...
- qsort C++ VS2013 leetcode
class Solution { private: static int compare(const void * a, const void * b) { return (*(int*)a - *( ...
- SQLSERVER不带JOIN的语句与带JOIN语句的区别
//1.连接两个表查询 SELECT * FROM table1 t1,table2 t2 //2.连接两个表查询 SELECT * FROM table1 join table2 on table1 ...
- maven 私服搭建
1,下载 https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.14.2-01-bundle.zip 2,解压 3,安装 ...