C#学习笔记——类和对象篇

本文详细介绍了C#中的类和对象概念,包括面向对象编程的三大支柱——封装、具体化和多样性。文章阐述了类的定义、对象的创建、构造函数和析构函数的作用,以及修饰符、this关键字、属性、索引器和类结构的相关知识点,旨在帮助读者深入理解C#中的类和对象使用。
摘要由CSDN通过智能技术生成

一、面向对象的编程

  • 面向对象的编程帮助程序员通过建立真实世界的问题模型来管理复杂事物。

1、类和对象

  • 类定义了一个新类型,并且用于代表问题域(要解决的问题和所了解的于问题相关的全部信息)中的一类事物;
  • 对象是类的实例;
  • 状态是对象的当前状态;
  • 许多类定义了成员域,这些成员域是能够被类中每个方法所见的私有变量,但不能被类以外的方法所见;
  • 类的行为通过方法来定义,方法中包含执行动作的代码。方法能够操作对象的状态,并能够于其他对象交互。

2、面向对象编程的三大支柱

  • 面向对象编程的三大支柱是封装、具体化和多样性。
    1、封装要求每个类都是独立的类,每个类应该"知道"或者"做"一件独立的事情或者一系列的事;
    2、具体化通过广义类(基类)派生出许多具体类来实现。具体化的类继承了一般化类的许多特性,具体化的类叫作派生类,一般化的类被认为是基类;
    3、多样性允许将不同的类作为一个集合,这些类派生出一个公共类,并且处理这些类与处理基类类型实例相同

二、类和对象

请添加图片描述

1、什么是类什么是对象

1>类和对象

  • 面向对象:一种软件开发的思想,指导程序员如何分析、解决问题
  • 是一个对象的概念,即位生活中的"类别"
  • 对象是类的具体实例,即归属于某个类别的"个体"
  • 例如:学生是一个类,表示一种类型,"八戒同学"则是一个对象
  • 名词类型的共性,作为数据成员
  • 动词类型的共性,作为方法成员

2>创建类

  • 语法:
    访问级别    ~~    class    ~~    类名
    {
          ~~~~~       类成员…
    }
  • 通常每个类都在一个独立的C#源文件中
  • 创建新的类意味着在当前项目中产生了一种新的数据类型
  • 类中的成员,如果不加访问修饰符,默认都是private
//Wife.cs
namespace Day07
{
   
    /// <summary>
    /// 定义  老婆  类
    /// </summary>
    class Wife
    {
   
        //数据成员
        private string name;
        private string sex;
        private int age;

        //方法成员
        public void SetName(string name)
        {
   
            //this 这个对象(引用)
            this.name = name;
        }

        public string GetName()
        {
   
            return name;
        }

        public void SetAge(int age)
        {
   
            this.age = age;
        }

        public int GetAge()
        {
   
            return this.age;
        }

    }
}

3>创建对象

  • 语法:
    类名    ~~   引用名;
    引用名 = new 构造函数(参数列表);
  • 创建对象的过程也被成为"实例化"
static void Main()
{
   
    //声明Wife类型的引用
    Wife wife01;
    //指向Wife类型的对象(实例化Wife类型对象)
    wife01 = new Wife();
    wife01.SetName("令狐");
    wife01.SetAge(18);

	Wife wife02 = wife01;
    wife02.SetName("小龙女");	

	//Wife wife02 = wife01;
    //wife02 = new Wife();
    //wife02.SetName("小龙女");
    	
    Console.WriteLine(wife01.GetName());
    Console.WriteLine(wife01.GetAge());
}

在这里插入图片描述
在这里插入图片描述

2、构造函数

1>定义

  • 提供了创建对象的方式,初始化类数据成员的特殊方法
  • 语法:
    [访问修饰符]    ~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聪 ~smart

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值