• 《C#入门详解》刘老师 初识类与名称空间&类,对象,类成员简介


    初识类与名称空间

    一、如果我们写一个类,没有把这个类的名称空间是哪个标出来的时候,就从引用的名称空间里检索,看到哪个名称空间里有这个类;

                 1.Using把名称空间引用进来;

               2.一个solution里可以有多个项目(Project);

               3.名称空间就是以树形结构组织类;

               4.我们编写了一个类“program”放在“namespace helloworld”这个名称空间里,意思是我自己写了一个类,当别人调用我们这个类的时候,可以从我们的名称空间里找到这个类。

    namespace helloworld
    {
     
       class program
       {
         static void main(string[] args)
          {
            System.console.writeline("hello , world!");
          }
        }
    }
    using system;
    namespace helloworld
    {
     
       class program
       {
         static void main(string[] args)
          {
          /*  System.console.writeline("hello , world!");  */
             
            console.writeline("hello , world!");
    
          }
        }
    }

    二、类库的引用

    • 类与名称空间放在类库里,类库引用是使用名称空间的物理基础(类库也叫程序集Assembly)

    • 对类库的引用有两种方式:1、DLL引用(黑盒引用,无源代码)NuGet简介     2、项目引用(白盒引用,有源代码)

                    1.黑盒引用可以在对象浏览器里看到有里面有哪些类,一般配合文档使用相应的类

    类,对象,类成员简介

    一、类与对象的关系

    • 对象也叫实例,是类经过“实例化”后得到的内存中的实体

         1.对象和实例是一回事

         2.有些类是不能实例化的,比如“数学”,我们不能说一个“数学”

    • 依照类,我们可以创建对象,这就是“实例化”

        1.现实世界中常称“对象”,程序世界中常称“实例”

         2.例子:(集合的关系)

         人是一个类  有身高  年龄   属性
         公交车是一个类    有乘客  座椅   属性
     
                    人就相当于公交车中的  乘客
                   人就是一个属性
                   车里装的人   又有年龄属性

    • 使用new操作符创建类的实例

          1.实例化过程就是创建一个对象,关键词“new”。类是不占内存的,但是创建一个对象后,会开辟一个内存。

    • 引用变量与实例的关系

         1.孩子与气球

           2.气球不一定有孩子牵着

           3.多个孩子可以使用各自的绳子牵着同一个气球,也可以都通过一根绳子牵着气球

     Form 
    /*一个类*/
    
    
     new Form();
    /*一个Form类的实例就创建了;圆括号表示的意思当这个实例诞生后,用什么样的方法去对它进行初始化,叫做构造器*/
    
    
     (new Form()).showDialog();
    /*创建完了一个实例,然后调用它的方法*/
    
    
    (new Form()).showDialog();
    (new Form()).Text = "My Form";
    /*这边是创建了两个实例,第一个实例是展示,第二个实例是有一个title*/
    
    
    Form myForm;
    myForm = new Form();
    myForm.Text = ''My Form'';
    myForm.showDialog();
    /*引用变量连续的操作同一个实例,这里能显示title也能展示*/


    Form myForm1;
    Form myForm2;
    myForm1 = new Form();
    myForm2 = myForm1;
    myForm1.Text = "My Form";
    myForm2.ShowDialog();
    /*多个孩子可以使用各自的绳子牵着同一个气球,这边的两个引用变量引用的是同一个实例*/



    二、类的三大成员

    • 属性

       1.存储数据,组合起来表示类或对象当前的状态

    • 方法

       1.由C语言函数进化来,表示类或对象“能做什么”

    • 事件

       1.类或对象通知其他类或对象的机制,为C#所特有(Java通过其他办法实现这个机制)

       2.善用事件机制非常重要

    • 某些特殊类或对象在成员方面侧重点不同

       1.模型类或对象重在属性,如Entity Framework

       2.工具类或对象重在方法,如 Math , Console

       3.通知类或对象重在事件,如各种Timer

    •  Notice--一个例子

             A类中直接实例化B类,然后调用B类的方法不行吗?

     
    public class SuperMarket
    {
    //初始化仓库
    CangKu ck = new CangKu();//为什么在下边用ck .不出方法来,但是在SuperMarket的构造函数里就可以???????

    public SuperMarket()
    {
    ck.DaoRuGoods("Acer", 1000);
    ck.DaoRuGoods("IPhone", 1000);
    ck.DaoRuGoods("Cannoon", 1000);
    ck.DaoRuGoods("CocaCola", 10000);
    }
    }
    QUESTION:
    如代码所示,我直接在实例化后边用ck .不出方法来,是怎么回事?

    ANSWER:

    要调用B实例的方法要在A的方法里,不能直接在类里调用。

    你要调用,也要在函数内部使用实例去调用,你的写法是在类里面,类里面可以new一个变量,但是不能直接使用这个实例
     
     
     

    三、静态成员与实例成员

    • 静态成员在语义上表示它是“类的成员”

    • 实例(非静态)成员在语义表示它是“对象的成员”

    • 绑定指的是编译器如果把一个成员与类或对象关联起来

              1.不可小觑的“  .  ” 操作符------成员访问

     

               

  • 相关阅读:
    mysql DCL(数据控制语句)
    sybase 脚本建表和删除表
    mysql DML(数据操纵语句)
    delphi fastmm4 调试
    delphi class of 类引用
    DELPHI SetLocaleInfo 设置本地时间
    DELPHI 去字符串中所有空格
    SUSE 11 安装MongoDB
    suse下 登录mongodb
    DELPHI 的 {$M +} 和{$M -}
  • 原文地址:https://www.cnblogs.com/zfcsharp/p/13688706.html
Copyright © 2020-2023  润新知