08_面向对象

  • 面向对象:一种看待问题解决问题的思维方式,着眼点在于找到一个能够帮助我们解决问题的实体,然后委托这个实体来帮我们解决问题;(在面向对象之前你要有一个女朋友,否则代码会经常出现bug)
  • 面向过程:一种看待问题解决问题的思维方式,着眼于问题怎样一步步解决的,然后亲历亲为解决问题;
  • 实例:小明作为一个电脑小白需要组装一台电脑
    • 面向过程:

      • 1、(小明)补充相关知识;
      • 2、(小明)去买零配件;
      • 3、(小明)运回家;
      • 4、(小明)组装电脑;
    • 面向对象:
      • 1、找一个懂电脑的朋友,老王;
      • 2、(老王)去买零配件;
      • 3、(快递)运回家;
      • 4、(老王)组装电脑;
  • 类和对象
    • 对象:这个具有一定的功能,能够帮助解决特定问题的实体就是对象;
    • 类:一系列具有相同的功能和特征的对象的集合;
    • 实例:
      • 张三、李四、王五:人类
      • 猫、狗、兔子:动物
  • 类的设计
    • 语法:class 类名 { 类体 }

    • 类名是一个标识符需要遵循大驼峰命名法
    • 类内的成员
      • 字段:用来描述这个类所有的对象共有的特征
      • 方法:用来描述这个类所有的对象的行为或者功能
  • 对象的实例化
    • 类中的对象是有默认值的
  • Main函数
    • 是主函数,程序从这里开始执行
    • 一个项目里只能有一个Main函数
    • Main函数必须是静态的
    • Main函数不能重载
    • Main函数的参数只能是string[]类型或者没有参数
    • Main函数可以写在任何类中
  • static
    • 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变;
    • static关键字意义:
      • 防止程序员写代码来实例化该静态类;
      • 防止在类的内部声明任何实例字段或方法;
    • 静态的
      • 可以用来修饰类的成员
      • 可以用来修饰类
    • 区别
      • 静态的成员是属于类的,访问的时候需要用类来访问
      • 非静态的成员是属于对象的,访问的时候需要用对象来访问
    • 类中的每一个字段、方法和属性在访问的时候都需要一个主体来访问;在某些情况下,访问的主体是可以被省略的

C#学习笔记_08_面向对象的更多相关文章

  1. UML和模式应用学习笔记-1(面向对象分析和设计)

    UML和模式应用学习笔记-1(面向对象分析和设计) 而只是对情节的记录:此处的用例场景为:游戏者请求掷骰子.系统展示结果:如果骰子的总点数是7,则游戏者赢得游戏,否则为输 (2)定义领域模型:在领域模 ...

  2. Lua学习笔记:面向对象

    Lua学习笔记:面向对象 https://blog.csdn.net/liutianshx2012/article/details/41921077 Lua 中只存在表(Table)这么唯一一种数据结 ...

  3. ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则

    ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...

  4. Java学习笔记之---面向对象

    Java学习笔记之---面向对象 (一)封装 (1)封装的优点 良好的封装能够减少耦合. 类内部的结构可以自由修改. 可以对成员变量进行更精确的控制. 隐藏信息,实现细节. (2)实现封装的步骤 1. ...

  5. 我的Java学习笔记-Java面向对象

    今天来学习Java的面向对象特性,由于与C#的面向对象类似,不需详细学习 一.Java继承 继承可以使用 extends 和 implements 这两个关键字来实现继承. extends:类的继承是 ...

  6. 《JavaScript高级程序设计》学习笔记(5)——面向对象编程

    欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第六章内容. 1.面向对象(Object ...

  7. javascript 学习笔记之面向对象编程(一):类的实现

    ~~想是一回事,做是一回事,写出来又是一回事~~一直以来,从事C++更多的是VC++多一些,从面向过程到面向对象的转变,让我对OO的编程思想有些偏爱,将一个客观存在的规律抽象出来总是让人比较兴奋,通过 ...

  8. 【原】Java学习笔记019 - 面向对象

    package cn.temptation; public class Sample01 { public static void main(String[] args) { // 仔细想一想,Ani ...

  9. Java学习笔记--关于面向对象的思考

    1.不可改变的类生成对象以及变量的范围 2. 关键词this的使用 3.用类抽象的思想制作软件 4.通过关系模型建立类 5.使用面向对象的范例来设计程序,遵循类设计指导. 已经学习了:怎么定义类已经创 ...

随机推荐

  1. 3736 【HR】万花丛中2

    3736 [HR]万花丛中2  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description HR神犇在成功攻略ZX后,花心 ...

  2. 让ListView回来原来的位置

    让ListView回到原来的位置 当从ListView中的某一个Item跳转到其他的Activity,进行操作之后,ListView可能需要刷新(重新加载数据源),这个时候ListView就会回到原始 ...

  3. [BZOJ 1660] Bad Hair Day

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1660 [算法] Sprease Table + 二分 时间复杂度 : O(NlogN ...

  4. 【POJ 3714】 Raid

    [题目链接] http://poj.org/problem?id=3714 [算法] 分治求平面最近点对 [代码] #include <algorithm> #include <bi ...

  5. 第四周 Leetcode 124. Binary Tree Maximum Path Sum (HARD)

    124. Binary Tree Maximum Path Sum 题意:给定一个二叉树,每个节点有一个权值,寻找任意一个路径,使得权值和最大,只需返回权值和. 思路:对于每一个节点 首先考虑以这个节 ...

  6. 洛谷 p1625

    高精度 我以为这题必有高论,怎么想也想不出来,没想到竟是如此粗鄙做法. 我们写一个高精度模拟一下,然后枚举约数看是否能约分,由于我不会高精度除法,就抄了一发 其实这种两项之比和项数有关的数列是不能推通 ...

  7. yistack

  8. ubuntu16.04 Flume 安装

    Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并 ...

  9. 【RAID在数据库存储上的应用 】

    随着单块磁盘在数据安全.性能.容量上呈现出的局限,磁盘阵列(Redundant Arrays of Inexpensive/Independent Disks,RAID)出现了,RAID把多块独立的磁 ...

  10. php 时间戳和时间的转换

    PHP的时间戳与具体时间转化 三个内置函数: time() //获取UNIX系统时间戳 mktime(hour,minute,second,month,day,year) //将指定时间转化为时间戳 ...