一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第15天,点击查看活动详情。
前言
今天我们看一下C#10的语法吧,扎实基础。。。
目标
- 类和对象的概念
- 类和对象的关系
- 类的设计
01.类和对象的概念
类和对象是面向对象编程的两个核心概念
1.1 类
-
类是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用
- 特征被称为属性
- 行为被称为方法
-
类就相当于制汽车是的图纸,是-一个模板,是负责创建对象的
1.2 对象
- 对象是由类创造出来的一个具体存在,可以直接使用
- 由哪一个类创造出来的对象,就拥有在哪一个类中定义的属性和方法
- 对象就相当于用图纸制造的汽车
在程序开发中,应先有类,再有对象
|
02.类和对象的关系
-
类是模板,对象是根据类这个模板创建出来的,应该先有类,再有对象
-
类只有一个, 而对象可以有很多个
- 不同的对象之间属性的具体内容可能各不相同
-
类中定义了什么属性和方法,对象中就有什么属性和方法,不可能多,也不可能少
03.类的设计
在使用面向对象开发前,应该首先分析需求,确定一下程序中需要包含哪些类
在程序开发中要设计一个类,通常需要满足以下三个要素:
- 类名这类事物的名称,满足大驼峰命名法
- 属性这类事物具有什么样的特征
- 方法这类事物具有什么样的行为
3.1 类名的确定
名词提炼法分析整个业务流程,出现的名词,通常就是找到的类。
3.2 属性和方法的确定
- 对对象的特征,描述通常可以定义成属性。
- 对象具有的行为通常可以定义为方法。注:方法般是动作即动词
提示:需求没有涉及的属性或者方法在设计类时,不需要考虑
练习1
需求
- 张三今年18岁,身高1米75,每天早上跑完步回去吃东西
- 李四今年17岁,身高1米65,他不跑步,但喜欢吃东西
类名 | 人 |
---|---|
属性 | 名字,年龄,身高 |
方法 | 跑步(), 吃() |
练习2
需求
- 一只灰色的怪兽叫哥斯拉
- 他会喷火烧
- 还会发射激光
类名 | 怪兽 |
---|---|
属性 | 名字,颜色 |
方法 | 喷火(), 发射激光() |
04.类和对象的使用
4.1 声明类
- 声明一个类需要使用
class
关键字 - 类的属性及方法写在
{}
中 - 后面不加分号
public class Person{
}
复制代码
4.2 声明属性
- 属性在C#中较为独特,他既不同于方法,也不同于字段。
- 属性依旧遵循大驼峰命名法
- 属性最常用的书写方法:
public int Age {get; set;}
- 如果属性中具有
get
关键字,说明可以获取该属性的值。 - 如果属性中具有
set
关键字,说明可以向该属性设置值。
4.3 声明方法
详见函数初识
4.4 实例化
- 类使用关键字
new
实例化对象。 - 一个类可以实例化多个对象。
- 对象可以使用类定义的属性和方法。
4.5 知识拓展
访问修饰符
访问修饰符:
public
: 公有的,所有的类都可以访问private
: 私有的,当前类内部可访问。protected
: 受保护的,当前类以及继承他的子类可访问internal
:内部的,只限于本项目内访问,其他的不能访问。protected internal
:内部保护访问,只能是本项目内部或子类访问,其他类不能访问
访问级别约束:
- 父类子类访问修饰符要保持一 致
- 方法的访问修饰符要和方法参数的访问修饰符保持一致
注意: 类的访问级别默认为隐式私有需要加上
public
才可让外部访问
静态方法、 属性
- 静态和属性方法通过
static
关键字修饰 - 静态和属性可以通过类型直接获取,非静态则必须通过实例化的对象获取
静态类
- 静态类通过
static
关键字修饰 - 一般情况下类型不需要使用静态修饰,只有当类型中存在扩展方法时需要使用静态类