C#开发之——调用类成员(3.6)

一 概述

  • 在前面的小节中已经了解了类中成员的定义,本节介绍如何访问类中的成员,即调用类的成员

  • 调用类的成员实际上使用的是类的对象,对于创建类的对象,首先可以将类理解成一个模板,类的对象则是按照这个模板定制的一个对象

  • 例如在创建一个Word文档时,会自动按照Word中默认的文档模板创建一个与之样式相同的文件

<!--more-->

二 类对象的语法形式

创建类对象的语法形式如下:

类名 对象名 = new 类名();

上面的语法形式是一种简单形式,通过"对象名"即可调用类中的成员。调用的语法形式如下:

对象名.类的成员

三 实例

3.1:在Book类中添加一个方法,用于输出该类中的所有属性

3.1.1 代码

  • Book类

    class Book
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public double Price { get; set; }
        public void PrintMsg()
        {
            Console.WriteLine("图书编号:" + Id);
            Console.WriteLine("图书名称:" + Name);
            Console.WriteLine("图书价格:" + Price);
        }
    }
  • Program.cs文件里的Main方法中,加入调用PrintMsg()方法的代码

    class Program
    {
        static void Main(string[] args)
        {
            Book book = new Book();
            book.PrintMsg();
        }
    }

3.1.2 执行结果

 

  • 从上面的输出效果可以看出,如果没有对自定义的属性赋值,系统会默认为属性赋值。

  • 如果需要为属性赋值后做输出操作,则要在调用PrintMsg()前先对属性赋值

3.1.3 对属性事先赋值

class Program
{
    static void Main(string[] args)
    {
        Book book = new Book();
        //为属性赋值
        book.Id = 1;
        book.Name = "计算机基础";
        book.Price = 34.5;
        book.PrintMsg();
    }
}

执行上面的代码,效果 如图所示

 

3.2 在 Book 类中添加一个向属性赋值的方法,并在 Main 方法中调用

3.2.1 代码

  • Book

    class Book
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public double Price { get; set; }
        public void SetBook(int id, string name, double price)
        {
            Id = id;
            Name = name;
            Price = price;
        }
        public void PrintMsg()
        {
            Console.WriteLine("图书编号:" + Id);
            Console.WriteLine("图书名称:" + Name);
            Console.WriteLine("图书价格:" + Price);
        }
    }
  • Main方法中

    class Program
    {
        static void Main(string[] args)
        {
            Book book = new Book();
            book.SetBook(1, "计算机基础", 34.5);
            book.PrintMsg();
        }
    }

3.2.2 说明

  • 通过上面的实例可以了解类的对象调用属性和方法的基本用法,给属性赋值的代码如下

    类的对象.属性名 = 值;
  • 如果要取得属性的值,直接使用"类的对象.属性名"即可。使用类的对象调用方法的代码如下

    类的对象.方法名(参数);
  • 如果将类中的成员使用修饰符static声明,则在访问类成员时直接使用"类名.类成员"的方法即可

  • 需要注意的是,如果将一个方法声明成静态的,在方法中直接访问静态类成员,非静态成员通过类的对象调用才能访问。例如将【实例2】中的方法PrintMsg改成静态方法,则无法直接访问属性,而需要通过类的对象才能访问属性或者直接将属性定义成静态的

3.3 将 Book 类中的属性和方法更改为静态的

3.3.1 代码

  • Book类

    class Book
    {
        public static int Id { get; set; }
        public static string Name { get; set; }
        public static double Price { get; set; }
        public static void SetBook(int id, string name, double price)
        {
            Id = id;
            Name = name;
            Price = price;
        }
        public static void PrintMsg()
        {
            Console.WriteLine("图书编号:" + Id);
            Console.WriteLine("图书名称:" + Name);
            Console.WriteLine("图书价格:" + Price);
        }
    }
  • Main方法

    class Program
    {
        static void Main(string[] args)
        {
            Book.SetBook(1, "计算机基础", 34.5);
            Book.PrintMsg();
        }
    }
    
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值