102-01-类与对象

1.类与对象的基本概念

1.1 对象的简要总结

  1. 对象的概念:任何存在的实体都是对象,对象是真实存在的,他包括"动态特征" 和"静态特征"
    1. 静态特征:表示对象的属性,用来存储对象本身的数据。
    2. 动态特征:表示对象的方法,用来说明对象能做什么
  2. 对象的作用:
    1. 数据存储在对象的属性中
    2. 软件的功能都是通过方法实现的

1.2 对象的简要总结

  1. 将同一类对象的共有属性,方法抽象出来,组织在一个单元中就成为类

1.3 类与对象简要总结

  1. 类与对象的区别:
    1. 类定义的是一个概念模型,在这个模型中,规定对象的属性和方法
    2. 对象是按照类这个模型,创造出来的真实实体,每个属性都有特定的值

2.类的定义与对象的使用

// 类的定义规范
访问修饰符 class 类名        注意:定义类名,规范命名首字母大写,避免单词缩写
{
// 定义字段部分
字段1 的类型  字段1
字段2 的类型  字段2
    
// 定义属性部分              注意:编写类的字段,属性 (用来描述类的静态特征)
属性1 的类型  属性1
属性2 的类型  属性2
    
// 定义方法部分              编写类的方法、接口  (独立完成某个功单元模块)
方法1
方法2 
}
//实例
    public class Student
    {
        private int strudentID;
        private string studentName = string.Empty;

        public int StudentID
        {
            get { return strudentID; }
            set { strudentID = value; }
        }
        public string StudentName
        {
            get { return studentName; }
            set { studentName = value; }
        }

        public string ShowStudent()
        {
            string info = string.Format("学号:{0},姓名:{1}", strudentID, studentName);
            return info;

        }
    }
// 调用
        public string ShowInfo()
        {
            Student stu = new Student();
            stu.StudentID = 1;
            stu.StudentName = "烂笔头技术栈";
            string info = stu.ShowStudent();   
            return info;
        }

3.字段与属性

  1. 访问修饰符,作用:限制对象的属性或方法可访问范围(类的内部,类的外部)
    • private(私有的:外部不可见) 
    • public(公有的:外部可见)
  2. 字段的使用(又称为"成员变量")
    • 一般在类的内部做数据交互使用,一般使用private
    • 字段的命名规范:字段命名一般采用camel 命名法
  3. 属性
    • 属性的使用
      • 作用:在面向对象设计中主要使用属性描述对象的静态特征
      • 要求:一般采用Pasal命名法,数据类型和字段要一致,使用public修饰
    • 属性的理解
      • 属性其实是外界访问私有字段的入口,属性本身不保存任何数据
      • 给属性赋值,其实是给属性指向的私有字段赋值
      • 读取属性值,其实是获取属性指向的私有字段值或其他值
    • 使用属性避免非法数据
      • 在get 和set 方法中可以添加任何我们需要的业务逻辑,从而有效避免非法数据
    • 没有对用私有字段的属性
  4. 字段与属性比较
    • 字段(即:成员变量)
      • 主要是为类的内部做数据交互使用,一般为private
      • 字段可以赋值,也可以取值
      • 当字段需要为外部提供数据时,请将字段封装为属性,而不是使用公用字段,这是面向对象所倡导的。
    • 属性
      • 属性一般是向外提供数据,主要用来描述对象的静态特征,所以属性一般是public
      • 属性可以根据需要设置为只读只写提高数据安全性
      • 属性内部可以添加我们需要的业务逻辑,从而避免非法数据
  5. 自动属性
    • 属性编写新语法(自动属性:.Net 3.0 以及其后续版本)
    • //自动属性的语法
      private double salary;
      public double Salary
      {
          get{return salary;}
          set{salary = value;}
      }
      // 简化写法
      public double Salary{get;set;}

       

    • 优点:简化属性代码

    • 快捷方式: prop +tab+tab

    • 使用要求:

      • 不能直接操作私有字段

      • 不能直接设置只读、只写属性

      • 不能添加验证逻辑

4.方法的定义和使用

  1. 方法的理解
    1. 概念:对象的动态特征就是方法,方法表示这个对象能够做什么
    2. 类型:实例方法、静态方法
  2. 方法定义要求
    1. 定义规范
    2. 访问修饰符 返回值类型 方法名(参数1,参数2....)
      {
          // 这里编写方法的主体
          return 返回值;
      }
      // 注意事项:
          //1. 访问修饰符:可以省略,默认private,可以根据需要,定义成public
          //2. 方法名:采用Pascal,首字母大写,不能以数字开头
          //3.参数列表:根据需要添加
          //4. 使用Return 返回,return 后面不能再用其他语句

      3.方法的调用

  3. 方法的重载

    1. 理解:方法重载是指在一个中定义多个同名的方法,
      但要求每个方法具有不同的参数的类型或参数的个数
      编译器将根据方法的参数个数和类型自动匹配类的对应关系

    2. 实例:

    3. 方法重载的好处

      1. 减少类的对外接口(只显示一个方法),降低类的复杂度

      2. 便于用户使用(相同功能的方法名称)和识别

    4. 方法重载条件

      1. 方法的名称必须一样

      2. 方法的参数个数或者类型不一样

    5. 方法重载与返回值无关

  4. 静态方法以及重载

    1. 关键字 static 的使用:关键字static 可以修饰类、方法、成员变量,修饰后我们称之为:静态类、静态方法、静态变量

    2. 静态方法的调用:类名.方法名

    3. 实例:

    4. 静态成员使用经验

      1. 静态成员在程序运行时,被调入内存中,并且在系统未关闭前不会被GC回收

      2. 类的成员使用非常频繁的时候,可以考虑使用static 修饰,但不要使用过多

      3. 静态成员不能直接调用实例成员(静态方法不能直接调用实例方法)

      4. 静态方法也可以重载

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

烂笔头技术栈

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

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

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

打赏作者

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

抵扣说明:

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

余额充值