zoukankan      html  css  js  c++  java
  • 进入面向对象的世界:类就是代码,对象是内存。

    从今天开始,我们要逐步的接触和了解面向对象。
    首先我们先了解一下抽象的意思。我不讨论理论意义上对于抽象的名词解释,我只通过我的理解来描述。

    1int i = 7;
    这行代码非常非常地简单,但就蕴含着抽象。抽象了什么呢?int抽象了一个4个字节的空间,7抽象了两进制111。
    1public class Car
    2
    3
    4}

    5
    6public class Warehouse
    7
    8
    9}

    看上面的代码,如果你对单词的理解没有歧义的话,那么也许就能在你的大脑中映射出汽车和仓库。瞧,这就是抽象的意义。封装内部的具体执行细节。
    所以我们先记住第一点:
    抽象指的是类(Class)。

    类仅仅是文字上的描述,相当于图纸。所以我们有一份QQ汽车的设计图纸,我们可以称这个图纸为类,因为他抽象了将来被生产出来的汽车所具有的所有价值体现。这份图纸被转到流水线后,就生产出了汽车,那么汽车和图纸有什么区别呢?我认为汽车是真正消耗了社会资源的实际物品,就是说汽车是图纸的实例。
    所以我们记住第二点:
    实例指的是对象(Object)。

    总结一下:类就是代码,对象是内存。

    那为什么我们要进入面向对象的世界呢?我们以前的C,VB等开发语言,还记得我们要背函数吗?记不住函数,要去帮助找相关数据操作的函数。比如我要去MSDN查字符串函数。找起来还很不方便,因此我们要买书,书上对各函数作了分类:字符串、日期、数学。我们发现函数被有序的组合起来,我们学习和查找都方便的多。所以产生了类,类把相关自身数据类型的函数聚集在一起,便于我们使用。

    因此第三点:
    函数是无序世界,类是有序世界。

    C#中所有的类型都是对象类型,类仅支持单继承

    System.Object 所有其他类型的最高类型
    System.String 字符串类型
    System.ValueType  值类型的基类
    System.Enum  枚举类型的基类
    System.Array 所有数组类型基类
    System.Delegate 所有委托类型基类
    System.Exception 所有异常类型基类


     
     类是一组数据的集合,我们将他们分类看下

    数据成员 常数
    字段
    函数成员 方法
    属性
    事件
    索引器
    运算符
    实例构造函数
    静态构造函数
    析构函数


    类允许修饰,有类声明修饰、访问修饰、成员修饰


     




     

  • 相关阅读:
    ESlint中console.log报错问题
    for、forEach、for in、for of用法
    如何覆盖elementUI样式
    什么是闭包(closure),为什么要用它?
    写一个通用的事件侦听器函数
    javascripts 浅拷贝和深拷贝
    箭头函数
    用 async/await 来处理异步
    DOM事件类
    arguments 详解
  • 原文地址:https://www.cnblogs.com/shyleoking/p/637052.html
Copyright © 2011-2022 走看看