zoukankan      html  css  js  c++  java
  • 九、结构和类(结构的概念,类的概念,声明,构造函数,对象的实例化,类和对象的关系,实例的和静态的)

    结构

    在 C# 中,结构是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构。

    结构不支持继承。结构不能声明默认的构造函数。

    为了定义一个结构,必须使用 struct 语句。struct 语句为程序定义了一个带有多个成员的新的数据类型。

    using System;
         
    struct Books
    {
       private string title;
       private string author;
       private string subject;
       private int book_id;
       public void getValues(string t, string a, string s, int id)
       {
          title = t;
          author = a;
          subject = s;
          book_id =id; 
       }
       public void display()
       {
          Console.WriteLine("Title : {0}", title);
          Console.WriteLine("Author : {0}", author);
          Console.WriteLine("Subject : {0}", subject);
          Console.WriteLine("Book_id :{0}", book_id);
       }
    
    };  
    
    public class testStructure
    {
       public static void Main(string[] args)
       {
    
          Books Book1 = new Books(); /* 声明 Book1,类型为 Book */
          Books Book2 = new Books(); /* 声明 Book2,类型为 Book */
    
          /* book 1 详述 */
          Book1.getValues("C Programming",
          "Nuha Ali", "C Programming Tutorial",6495407);
    
          /* book 2 详述 */
          Book2.getValues("Telecom Billing",
          "Zara Ali", "Telecom Billing Tutorial", 6495700);
    
          /* 打印 Book1 信息 */
          Book1.display();
    
          /* 打印 Book2 信息 */
          Book2.display(); 
    
          Console.ReadKey();
    
       }
    }
    
    
    //当上面的代码被编译和执行时,它会产生下列结果
    Title : C Programming
    Author : Nuha Ali
    Subject : C Programming Tutorial
    Book_id : 6495407
    Title : Telecom Billing
    Author : Zara Ali
    Subject : Telecom Billing Tutorial
    Book_id : 6495700

    类:一组具有相同数据结构和相同操作的对象的集合.。

    对象:类的实例化。

    要使用对象,必须先定义类,然后再创建对象。

    标准格式 [访问修饰符] class 类名 [:基类]

    { 类成员(变量、常量、方法、属性、事件、索引器、操作符等)定义; }

    类成员

    类是由方法成员,数据成员(变量、常量)等组成。 方法的责任是用来实现类的行为,字段存储类的状态。

    创建对象

    声明了类之后,我们就可以通过new 关键字来创建类的实例,这个实例就是该类的一个对象。

    类实例创建的格式为:  类名 实例名(对象名)=new 类名(参数);

    使用 static 关键字把类成员定义为静态的。当我们声明一个类成员为静态时,意味着无论有多少个类的对象被创建,只会有一个该静态成员的副本。

    关键字 static 意味着类中只有一个该成员的实例。静态变量用于定义常量,因为它们的值可以通过直接调用类而不需要创建类的实例来获取。

    静态变量可在成员函数或类的定义外部进行初始化。也可以在类的定义内部初始化静态变量。

    类的 构造函数 是类的一个特殊的成员函数,当创建类的新对象时执行。

    构造函数的名称与类的名称完全相同,它没有任何返回类型。

    using System;
    namespace LineApplication
    {
       class Line
       {
          private double length;   // 线条的长度
          public Line()
          {
             Console.WriteLine("对象已创建");
          }
    
          public void setLength( double len )
          {
             length = len;
          }
          public double getLength()
          {
             return length;
          }
    
          static void Main(string[] args)
          {
             Line line = new Line();    
             // 设置线条长度
             line.setLength(6.0);
             Console.WriteLine("线条的长度: {0}", line.getLength());
             Console.ReadKey();
          }
       }
    }

    默认的构造函数没有任何参数。但是如果需要一个带有参数的构造函数可以有参数,这种构造函数叫做参数化构造函数

    这种技术可以帮助在创建对象的同时给对象赋初始值。

    using System;
    namespace LineApplication
    {
       class Line
       {
          private double length;   // 线条的长度
          public Line(double len)  // 参数化构造函数
          {
             Console.WriteLine("对象已创建,length = {0}", len);
             length = len;
          }
    
          public void setLength( double len )
          {
             length = len;
          }
          public double getLength()
          {
             return length;
          }
    
          static void Main(string[] args)
          {
             Line line = new Line(10.0);
             Console.WriteLine("线条的长度: {0}", line.getLength()); 
             // 设置线条长度
             line.setLength(6.0);
             Console.WriteLine("线条的长度: {0}", line.getLength()); 
             Console.ReadKey();
          }
       }
    }
  • 相关阅读:
    How to do Deep Learning on Graphs with Graph Convolutional Networks
    《编程珠玑》读书笔记
    NFFM的原理与代码
    场感知因子分解机器的原理与代码
    数学公式中的变体字母
    因子分解机原理与代码
    LightGBM GPU python版本安装
    Pytorch:使用GPU训练
    [FJOI2020]世纪大逃亡 题解
    [统一省选2020]冰火战士 题解
  • 原文地址:https://www.cnblogs.com/baixiao/p/7710798.html
Copyright © 2011-2022 走看看