【C#视频】面向对象、数据类型

简介: 【C#视频】面向对象、数据类型

面向对象

一个人的特征可以理解成这个人的属性

一个人的行为可以理解成这个人的方法

什么是对象?

看得见、摸得到、具体的、特指的

什么是类?

是具有相同属性和方法的。类是对象的类型

类和对象的区别

  • 类是抽象的概念,仅仅是模板,比如:“人”类
  • 对象是一个你能够看得到、摸得着的具体实体
  • 类不占内存,对象才占内存

类的定义

[访问修饰符] class 类型

{

成员;

}

类的实例化

  • 类的实例化,用关键字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就是不能转换

什么是隐式转换?

一般是低类型向高类型转换,能够保证值不发生变化

如:short(char)—>int—>long—>float—>double

1. int a = 1;//定义一个变量为a的整数类型,并赋值1
2. long b = a;//定义一个变量为b的长整数类型,并把a赋值给b

什么是显示转换?

从高类型向低类型转换

1. float b = 3.14;
2. c = (int)b
3. c的值就是3

装箱和拆箱

1、装箱:是将一个值类型的数据隐式转换成一个对象类型的数据,把一个值类型装箱就是创建一个object类型的实例,并把该值类型的赋值给这个object对象

1. int i =10;
2. object obj = i;//隐式转换装箱
3. 
4. int i =10;
5. object obj = (object)i;//显示转换装箱

分析:i及其值10是在栈空间中分配的额,obj是引用类型变量,也是在栈空间中分配的,i装箱后变为引用类型,在堆空间中分配相应的空间,obj中包含地址

2、拆箱:将引用类型的数据显示转换成一个值类型数据,分为两步:首先检查对象实例,确保它是给定值类型的一个装箱值,然后把实例类型复制到值类型数据中

1. Object obj = 10;
2. Int I = (int)obj; //显示转换拆箱

3、区别:装箱隐式转换或显示转换均可,拆箱只能是显示转换


相关文章
|
6月前
|
C#
C#学习相关系列之数据类型类的三大特性(二)
C#学习相关系列之数据类型类的三大特性(二)
|
2月前
|
存储 C# 索引
C# 一分钟浅谈:变量与数据类型简介
【9月更文挑战第1天】在 C# 编程中,了解变量与数据类型至关重要。本文详细介绍了 C# 中的值类型(如整数、浮点数、布尔值等)和引用类型(如类、接口、数组、字符串)。通过示例代码展示了变量的声明与使用方法,并针对数据类型转换错误、变量未初始化及数值溢出等常见问题提供了解决方案。正确选择数据类型不仅能提升程序性能,还可避免潜在错误,有助于编写高质量代码。
129 47
|
3月前
|
数据采集 存储 C#
C# 爬虫技术:京东视频内容抓取的实战案例分析
C# 爬虫技术:京东视频内容抓取的实战案例分析
|
3月前
|
图形学 C# 开发者
全面掌握Unity游戏开发核心技术:C#脚本编程从入门到精通——详解生命周期方法、事件处理与面向对象设计,助你打造高效稳定的互动娱乐体验
【8月更文挑战第31天】Unity 是一款强大的游戏开发平台,支持多种编程语言,其中 C# 最为常用。本文介绍 C# 在 Unity 中的应用,涵盖脚本生命周期、常用函数、事件处理及面向对象编程等核心概念。通过具体示例,展示如何编写有效的 C# 脚本,包括 Start、Update 和 LateUpdate 等生命周期方法,以及碰撞检测和类继承等高级技巧,帮助开发者掌握 Unity 脚本编程基础,提升游戏开发效率。
77 0
|
3月前
|
Java C#
C# 和 java 基本数据类型
C# 和 java 基本数据类型
22 0
|
5月前
|
存储 C# 开发者
C# 编程基础:注释、变量、常量、数据类型和自定义类型
C# 编程基础:注释、变量、常量、数据类型和自定义类型
|
5月前
|
开发框架 .NET 程序员
掌握C#语言的精髓:基础知识与实用技能详解(数据类型与变量+ 条件与循环+函数与模块+LINQ+异常+OOP)
掌握C#语言的精髓:基础知识与实用技能详解(数据类型与变量+ 条件与循环+函数与模块+LINQ+异常+OOP)
33 0
|
6月前
|
数据采集 API C#
网页解析高手:C#和HtmlAgilityPack教你下载视频
使用C#和HtmlAgilityPack解析小红书网页,下载其视频内容。文章涵盖了解析网页、获取视频链接、C#实现、HtmlAgilityPack简化解析、代理IP确保下载稳定及多线程提高下载效率。提供的代码示例展示了如何设置代理和多线程下载视频。实验结果显示,该方法能有效、高效地下载小红书视频。
123 5
网页解析高手:C#和HtmlAgilityPack教你下载视频
|
6月前
|
存储 C#
c#视频总结(二)
c#视频总结(二)
44 1
|
6月前
|
C#
C#视频总结(三)
C#视频总结(三)
30 0