目录
一、面向对象
1. 封装性
2. 继承性
3. 多态性
二、什么是对象?
三、什么是类?
四、类和对象的区别
五、类的定义
1、类的实例化
六、数据类型
七、类型转换
1、什么是隐式转换
2、什么是显示转换
八、装箱和拆箱
1、服务器托管网装箱
2、拆箱
3、区别
①、定义
②、目的
③、性能
④、使用场景
⑤、使用例子来说明装箱和拆箱之间的区别
一、面向对象
一个人的特征可以理解成这个人的属性
一个人的行为可以理解成这个人的方法
面向对象(Object-Oriented)是一种编程思想,它把现实世界中的事物看作是对象,对象拥有属性和方法。在面向对象编程中,程序主要由对象之间的交互来组成,每个对象都有自己的任务,对象之间通过消息传递来协同完成任务。
1. 封装性
把数据和方法封装在一起,只暴露出需要暴露的接口,保证数据安全性和代码的可维护性。
2. 继承性
可以使用已有的类来创建新类,新类会继承已有类的属性和方法,从而加快开发速度,同时降低代码重复性。
3. 多态性
可以使用相同的方法名来调用不同对象的方法,不同对象的方法具有不同的实现方式,增强了代码的灵活性和可扩展性。
面向对象编程是目前主流的编程思想之一,它被广泛应用于软件开发、游戏开发、机器人控制等领域。
二、什么是对象?
看得见、摸得到、具体的、特指的
对象是计算机程序中的一个实体,它可以是数据、函数、类、模块或其他类型的实体。它具有属性和方法,可以通过调用其方法来访问和修改其属性。在面向对象编程中,对象通常是由类创建的实例。每个对象都有自己的状态和行为,可以与其他对象进行交互。对象是面向对象编程中最基本的组成部分之一,它使得程序的设计更加模块化和灵活。
三、什么是类?
是具有相同属性和方法的。类是对象的类型
在面向对象编程中,类是一种抽象数据类型,它定义了对象的属性和方法。类可以看做是对象的模板或蓝图,它描述了对象的共同特征和行为,因此可以用来创建多个具有相同属性和行为的对象。在程序中,创建一个类是创建一个新的数据类型,可以在其中定义变量、函数等成员,通过创建实例对象来使用类。
四、类和对象的区别
类和对象是面向对象编程的基本概念。
类是一个抽象的概念,它是一组有相同属性和方法的对象的集合。它是创建对象的蓝图,定义了对象的属性和方法。类可以看做是一个模板,用来创建具有相同属性和方法的对象。
对象是类的实例,是具体存在的某个事物,它具有类定义的属性和方法。每个对象都是独立的,具有自己的状态和行为。对象可以看做是类的具体实现,是由类创建出来的具体事物。
因此,类和对象的主要区别在于:
1.类是抽象的概念,而对象是具体的实例。
2.类定义了属性和方法,而对象具有这些属性和方法。
3.类是创建对象的模板,而对象是类的实例化结果。
4.类通常用于描述一类事物的属性和行为,而对象则用于描述具体的实例。
总的来说,类和对象是面向对象编程的两个核心概念,它们相辅相成,互相依存。在使用面向对象编程语言进行编码时,通常需要先定义类,再通过类创建具体的对象。
五、类的定义
[访问修饰符] class 类型
{
成员;
}
1、类的实例化
- 类的实例化,用关键字new
- 语法:类 实例名=new 类()
- 类的成员的访问
- 实例名.属性 实例名.方法名()
- 字段、方法、属性都可以叫做类的成员Member,它们都需要定义访问级别。访问级别的用处在于控制成员在那些地方可以被访问,这样达到面向对象中“封装”的目的
- 访问修饰符:public、private、internal、protected
六、数据类型
数据类型定义是指在编程语言中,定义变量或常量时所使用的数据类型。数据类型可以被用来确定数据在计算机内存中的存储格式、操作方式和数据范围。常见的数据类型包括整数类型、浮点数类型、字符类型、布尔类型、数组类型、结构体类型、枚举类型等。数据类型的定义可以帮助程序员更有效地管理和处理数据,提高程序的性能和可读性。
七、类型转换
在C#中类型转换有三种:隐式转换、显示转换、装箱和拆箱
- 隐式转换:int——>double,多小数
- 显示(强制)转换:double——>int,丢精度 Convert、string——>int
is和as的区别
- typeA is B 仅判断
- typeA as TypeB 先判断,在转换
- 如果成功了那就是真的成功了,如果不成功返回空
as也是转换,但是如果转换不了的,不报异常,返回来的是null
is也是转换,返回的是bool值。true就是能转换,false就是不能转换
1、什么是隐式转换
隐式转换是编程语言中的一种类型转换,它会自动将一种数据类型转换为另一种数据类型,以满足表达式中数据类型的要求。在某些情况下,如果数据类型不匹配,编译器或解释器可以通过隐式转换自动将数据类型转换为正确的类型。例如,在一个整数和浮点数的运算中,整数可以被隐式转换为浮点数,以便于执行运算。
int a = 1;//定义一个变量为a的整数类型,并赋值1
long b = a;//定义一个变量为b的长整数类型,并把a赋值给b
2、什么是显示转换
显示转换,也称为强制类型转换,是指将一个数据类型的值转换为另一个数据类型的值,且转换的过程需通过编程语言中提供的强制类型转换语法来完成。通常情况下,显示转换会导致数据的精度丢失或溢出,需要开发者谨慎使用。例如,在将一个浮点数转换为整型时,小数部分将被截断,可能导致结果与预期不符。
float b = 3.14;
c = (int)b
c的值就是3
八、装箱和拆箱
1、装箱
装箱(Boxing)是指将一个值类型(Value Type)变量转换为一个对象类型(Object Type)变量,这个过程需要创建一个对象并在其中包含值类型的值。在装箱操作中,值类型的变量被放置在堆内存中,而不是像平常被服务器托管网放置在栈内存中。这样做的原因是值类型在栈上存储,生命周期随着其所在方法或代码块的结束而结束,而装箱操作提供了一种在堆上保留值类型生命周期的方式
int i =10;
object obj = i;//隐式转换装箱
int i =10;
object obj = (object)i;//显示转换装箱
分析:i及其值10是在栈空间中分配的额,obj是引用类型变量,也是在栈空间中分配的,i装箱后变为引用类型,在堆空间中分配相应的空间,obj中包含地址
2、拆箱
拆箱(Unboxing)是将一个装箱后的对象类型(Object Type)变量转换为一个值类型(Value Type)变量的过程。拆箱是装箱的逆过程,可以通过强制类型转换(Casting)或使用unbox
关键字来完成。
拆箱时会检查对象是否真正装箱过。如果对象没有装箱,则会抛出InvalidCastException
异常。如果对象装箱了但其类型与拆箱的类型不匹配,则会抛出InvalidCastException
异常或产生不确定的结果。
Object obj = 10;
Int I = (int)obj; //显示转换拆箱
3、区别
装箱(Boxing)和拆箱(Unboxing)是 C# 中的两个概念,它们的主要区别如下:
①、定义
装箱是将值类型转换为引用类型,拆箱是将引用类型转换为值类型。
②、目的
装箱的目的是将值类型放入堆中,以便于在堆中创建对象,而拆箱的目的是从堆中将对象转换回值类型。
③、性能
装箱和拆箱都需要进行类型转换,但是拆箱的性能相对较差,因为它需要从堆中查找对象并复制到栈中,而且类型不匹配时还需要进行转换。
④、使用场景
装箱通常用于将值类型作为对象存储在集合(如数组、列表等)中,而拆箱通常用于从集合中检索值类型元素。
⑤、使用例子来说明装箱和拆箱之间的区别
int myInt = 42; // 定义一个整型变量
object myObj = myInt; // 装箱操作,将整型变量装箱为对象类型
int myInt2 = (int)myObj; // 拆箱操作,将对象类型转换为整型变量
在上面的代码中,我们定义了一个整型变量 `myInt`,然后使用装箱操作将它转换为对象类型 `myObj`。接下来,我们又使用拆箱操作将对象类型 `myObj` 转换回整型变量 `myInt2`。需要注意的是,在拆箱操作时,我们需要使用强制类型转换操作符将对象类型转换回整型变量,否则代码无法通过编译。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net