1. 1:面向对象的概念:什么是类、对象。以及类与对象的关系。
  2. 面向对象三大特征: 封装/继承/多台
  1. 2:封装性:
  2. 用访问修饰符来体现封装性。
  3. Public 公共的/ private 私有的/Protected 受保护的/Internal 本程序集的
  4. 3:构造函数。
  5. 功能:是维护一个类的完整性。可以通过类的构造函数,使得一个类构造出不同(型号/类别)的对象实体。
  6. 特征: 1)构造函数名称与类名相同。
  7. 2)构造函数没有返回数值,也不加void 关键字。
  8. 3)构造函数不需要调用,可以直接运行。
  9. 4:方法的定义。
  10. 方法的构成:4部分
  11. 1) 方法的名称。
  12. 2) 方法的参数列表
  13. 3) 方法的返回类型,如果没有返回数值,要加“void” 关键字。
  14. 4) 方法体(方法的内容)
  15. 5:学习static 关键字。
  16. 特点:
  17. 5.1: 用static 修饰的方法,叫静态方法。
  18. 5.2: 在实例方法中,调用静态方法,需要使用类名称调用。
  19. 在静态方法中,调用静态方法,可以直接调用。
  20. 用途: 是简化编写,为了更容易被访问。
  21. 6:继承的概念。
  22. 继承使用符号“:”来表示继承。
  23. 7:在继承关系下,构造函数的规则。
  24. 规则: 实例化子类,系统先自动调用父类的构造函数,然后调用子类构造函数。
  25. 8:学习关键字。
  26. base, this.
  27. Base: 代表父类对象。
  28. This: 代表本类对象。
  29. 适用范围:
  30. 在子类与父类发生“方法覆盖”时候,为了能够调用被覆盖(或者“隐藏”)的方法,必须使用base .
  31. 9:base 关键字在构造函数中的应用,即:显示调用父类构造函数。
  32. 10:析构函数。
  33. 定义“~”定义析构函数。 作用是在本对象需要销毁之前,做一些清理工作。
  34. 比如在需要进行数据库连接,Socket 数据通信的时候,需要关闭对应的连接等。
  35. 11:命名空间。
  36. 使用关键字: NameSpace 定义。
  37. 目的是:为了一个项目中,可以使用重名的类。(相当于是操作系统中的“虚拟目录”的概念)。
  38. 12:访问修饰符:
  39. Public: 最大访问级别。
  40. Internal: 局部的。 在一个“程序集”中,都可以访问。
  41. Protected: 受保护的类型。 除了自己能够访问,本类的子类也可以访问。(“继承链”)
  42. Private : 只能自己访问。
  43. 13:学习面向对象中的“多态性”的概念。
  44. 14:多态性—方法重载。(静态多态性)
  45. 同一个类中,有多个方法名相同,但是方法的参数不同,这种现象叫~。
  46. 多态性-方法的重写(动态多态性)
  47. 在继承关系的类中,父类中定义了“虚方法”(关键字:Virtual), 子类使用关键字override 进行方法重写。这种机制叫~。
  48. 方法重写的目的: 就是可以不断优化代码的一种机制。
  49. 15:学习Sealed 关键字。
  50. 密封关键字。
  51. 类/ 方法。
  52. 16:抽象类/抽象方法。
  53. 关键字: Abstract
  54. 规则1: 一个抽象方法,必须存在于抽象类中。但是一个抽象类可以没有抽象方法。
  55. 规则2: 一个类继承抽象类,则必须“重写”抽象父类中的抽象方法。
  56. 17:接口/多重接口。
  57. 关键字: Interface
  58. 接口是与“类”相同的编程单位,相互之间不“隶属”。
  59. 规则1: 接口中只能定义抽象方法,不能有public , abstract 关键字。
  60. 规则2: 接口可以多种继承。
  61. 规则3: 一个类继承接口,则必须“实现”接口中所有的方法。
  62. 18:值类型与引用类型。
  63. 值类型在方法传递的时候,是传递的自身的“拷贝”。
  64. 引用类型在方法传递的时候,是传递的自身的“地址”。
  65. 常用值类型与引用类型转换的关键字如下:
  66. Ref / out 关键字。
  67. Ref 关键字可以把值类型转变为引用类型。
  68. Out 关键字目的是可以让方法有多个输出参数。
  69. 19:属性。
  70. 规则1: 属性是方法的简化,目的是控制类的“字段”的可访问性。
  71. 20:动态多态性。
  72. 目的是为了更好的开发出灵活,功能强大的程序。
  73. 可以使用“虚函数”,“抽象方法”,“接口”来实现动态多态性。
  74. 建议使用“接口”来实现动态多态性,即:面向接口编程。
  75. 21:面向接口编程。
  76. 接口最好功能单一。
  77. 接口可以通过继承关系实现功能强大的复合接口。
  78. C#的OOP即面向对象开发三大特性: 封装、继承、多态,是非常核心的OOP开发思想。现就这部分总结部分知识点如下:
  79. 1: 概念
  80. 类与对象的关系.
  81. 创建类
  82. 类与对象的本质区别:
  83. 类是建筑蓝图、对象是按照这份蓝图来建造的房子。
  84. 2: 访问区分符(修饰符)
  85. 访问修饰符是C#实现类的封装的最核心手段。
  86. private: 私有的,只能本类访问,包括子类也不能访问,是最严格的控制访问。
  87. public: 公有的,所有类都可以访问,是最松散的控制访问。
  88. protected: 受保护的,也就是除了本类之外,只有自己的子类可以访问。
  89. internal: 本程序集的,也就是说一个程序集内部都可以访问,外部不行。
  90. 3:构造函数
  91. 1) 与类名同名。2) 自动运行。 3) 不能返回任何数值,也不能加VOID.
  92. 4) 每个类都必须有一个构造函数,用户不提供则系统会提供自己默认的构造函数。
  93. 5) 构造函数的默认访问是private,但这样就不能在类的外部创建实例。
  94. 6) 创建了带参数的构造函数,系统不会再创建默认构造函数。
  95. 4: 特殊方法学习
  96. 4.1> 使用static 定义静态字段与方法.
  97. 规则1:static 方法中,需用对象访问类中定义的任何实例字段与方法。
  98. 规则2:static 方法中,可以直接访问static字段与static方法。
  99. 4.2>Main 方法
  100. Main() 方法是一个项目中唯一的入口程序,也就是程序开始执行的地方。
  101. 5: 命名空间
  102. 使用NameSpace 关键字来规定一个“虚拟的目录”使得大型项目中,允许有重复的类名称存在。(这个技术类似操作系统中的“目录”的作用)

C# OOP编程的更多相关文章

  1. PHP面向对象(OOP)编程入门教程

    面向对象编程(OOP)是我们编程的一项基本技能,PHP5对OOP提供了良好的支持.如何使用OOP的思想来进行PHP的高级编程,对于提高 PHP编程能力和规划好Web开发构架都是非常有意义的.下面我们就 ...

  2. 【PHP面向对象(OOP)编程入门教程】1.什么是面向对象?

    面向对象编程(Object Oriented Programming, OOP, 面向对象程序设计)是一种计算机编程架构,OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成 ...

  3. php面向对象(OOP)编程完全教程

    摘自:http://www.php-note.com/article/detail/41 面向对象编程(OOP)是我们编程的一项基本技能,PHP5对OOP提供了良好的支持.如何使用OOP的思想来进行P ...

  4. JavaScript的OOP编程1

    首先要说的是,javascript其实是可以进行OOP编程的,其次javascript的OOP编程实现方式有多种,我写的这一种只是我测试过,可行的一种 version1 // 父类 function ...

  5. js原生设计模式——4安全的工厂方法模式之oop编程增强版

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  6. PHP面向对象(OOP)编程入门教程链接

    PHP官方学习OOP: http://php.net/manual/zh/oop5.intro.php 从其他博主学习:(以下链接来源: http://blog.snsgou.com/post-41. ...

  7. Delphi研究,对全局变量函数与OOP编程关系的一点体会 good

    感叹:设计VCL的人真是神人啊,感觉比Pascal编译器的设计人还要牛很多,把整个Windows架构理了一遍,封装的如此之好,复用的如此之好(以至于Delphi的控件满天飞,使用还特别容易),简直惊为 ...

  8. OOP编程七大原则

    OCP(Open-Closed Principle),开放封闭原则:软件实体应该扩展开放.修改封闭.实现:合理划分构件,一种可变性不应当散落在代码的很多角落里,而应当被封装到一个对象里:一种可变性不应 ...

  9. oop编程思想

    oop的编程思想:抽象.封装.继承.多态. 1.抽象: 数据抽象:类描述的对象的属性或状态 行为抽象:类描述的对象的行为或功能 举例: 时钟:Class 数据:int Hour,Minute,Seco ...

  10. oop 编程是什么?

    面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构.OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成.

随机推荐

  1. 【小白学PyTorch】8 实战之MNIST小试牛刀

    文章来自微信公众号[机器学习炼丹术].有什么问题都可以咨询作者WX:cyx645016617.想交个朋友占一个好友位也是可以的~好友位快满了不过. 参考目录: 目录 1 探索性数据分析 1.1 数据集 ...

  2. 使用dbUnit的 IDataSet 因乱序造成assert失败而采取的措施

    本例源码下载:https://files.cnblogs.com/files/xiandedanteng/dbUnitTest20200211.zip 在做IDataSet比较时,特殊情况下会有期盼的 ...

  3. HashSet保证元素唯一原理以及HashMap扩容机制

    一.HashSet保证元素唯一原理: 依赖于hashCode()和equals()方法1.唯一原理: 1.1 当HashSet集合要存储元素的时候,会调用该元素的hashCode()方法计算哈希值 1 ...

  4. 理解C#回调函数

    序言 本篇主要学习了C#回调函数的定义使用.欢迎各位大牛的指导. 正文 回调函数是什么? 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调 ...

  5. 通过调用标识符确定this

    一. 纲 this的性质 作用:表示函数执行时的环境 值:一个对象 特点:动态性 确定this的难度 JS语言的动态性: 函数的this在执行时才能确定 函数为一级公民 可作实参.返回值.数据赋值进行 ...

  6. TNFE-Weekly[第七十二周已更新]

    前端行业发展飞速,新技术如雨后春笋般快速出现,尤其是各种小程序陆续推出,相关的信息.文章也铺天盖地的遍布在各处,我们有时候会困惑,不知道哪些信息对于自己是有价值的,那么TNFE-腾讯新闻前端团队启动了 ...

  7. Gradle系列之Android Gradle插件

    原文发于微信公众号 jzman-blog,欢迎关注交流. 通过前面几篇文章学习了 Gradle 基础知识以及 Gradle 插件相关的知识,关于 Gradle 及其插件相关知识请先阅读下面几篇文章: ...

  8. 【LeetCode/LintCode】丨Google面试题:N皇后问题

    n皇后问题是将n个皇后放置在n*n的棋盘上,皇后彼此之间不能相互攻击(任意两个皇后不能位于同一行,同一列,同一斜线). 给定一个整数n,返回所有不同的n皇后问题的解决方案. 每个解决方案包含一个明确的 ...

  9. Centos6.5 离线 Openssh 升级

    目录 OpenSSH 升级 一.基于 Dropbear 设置备用 ssh 服务器 二. Openssh 更新 2.1 ssh配置 备份 2.2 openssh 升级 Openssl 升级(由于Open ...

  10. 解决spark streaming集成kafka时只能读topic的其中一个分区数据的问题

    1. 问题描述 我创建了一个名称为myTest的topic,该topic有三个分区,在我的应用中spark streaming以direct方式连接kakfa,但是发现只能消费一个分区的数据,多次更换 ...