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. 软件project—思考项目开发那些事(一)

    阅读文件夹: 1.背景 2.项目管理,质量.度量.进度 3.软件开发是一种设计活动而不是建筑活动 4.高速开发(简单的系统结构与复杂的业务模型) 5.技术人员的业务理解与产品经理的业务理解的终于业务模 ...

  2. MySQL运行计划初探

    -Mysql运行计划总结– 1 运行计划概述 先看看一个运行计划 mysql> explain SELECT * FROM EMP , DAO_OBJECTS t1 , DAO_OBJECTS ...

  3. JavaScript Patterns 2.4 For-in loop

    Principle Enumeration should be used to iterate over nonarray objects. It's important to use the met ...

  4. Spark SQL中 RDD 转换到 DataFrame

    1.people.txtsoyo8, 35小周, 30小华, 19soyo,882./** * Created by soyo on 17-10-10. * 利用反射机制推断RDD模式 */impor ...

  5. Redis学习和应用记录(2)--常用数据类型及命令

    这一节主要介绍Redis支持的数据结构及常用命令. 数据类型 Redis支持多种数据类型的存储,包括字符,列表,集合,有续集合,哈希表,bit数组,超级日志等.下面分别介绍: strings:存储普通 ...

  6. [Swift通天遁地]九、拔剑吧-(4)使用开源类库创建可滑动的Segment分段控件

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  7. akka设计模式系列(Actor模型)

    谈到Akka就必须介绍Actor并发模型,而谈到Actor就必须看一篇叫做<A Universal Modular Actor Formalism for Artificial Intellig ...

  8. cookie和seesion区别

    cookie 和session 的区别详解 这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie ...

  9. 【BZOJ3960】DZY Loves Math V(数论)

    题目: BZOJ3560 分析: orz跳瓜. 欧拉函数的公式: \[\phi(n)=n(\prod \frac{p_i-1}{p_i})\] 其中 \(p_i\) 取遍 \(n\) 的所有质因子. ...

  10. 题解报告:hihoCoder #1174:拓扑排序·一

    题目链接:https://hihocoder.com/problemset/problem/1174 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 由于今天上课的老师讲 ...