黑马程序员c#学习5

黑马程序员 C#学习笔记① 使用WPF实现简易计算器 ---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------     目的:运用一些WPF和C#基础知识实现一个能够进行整数加减乘除运算的计算器程序     功能:(1) 能够通过点击界面按钮在程序中输入数字并显示;          (2) 在处理6+5+这种输入组合, 会将前面的算式先进行计算 阅读详情
Windows Phone 7手机开发、 .Net培训、期待与您交流!

1、继承

   继承的作用在于代码的重用,子类可以除了可以访问定义在基类中可访问的成员外,还可以额外定义自
己特有的成员。如果我们在定义类的时候没有指定父类,那就以为着这个类派生自Object类,Object类是所
有类的基类。

   继承的两种模型

   经典继承 (is-a)关系

   包含/委托 继承   (has-a)关系

经典继承的语法

   语法  class A :class B
 {
  
 }
   A 称为子类 B就称为基类或者父类。

   一个基类可以有多个子类,但是一个类只能有一个父类,C#并不支持多重继承,c#通过接口的概念来实
现相似的功能

   继承中的几个关键字

   this:表示当前对象即自己

   base:表示自己的父类,可以通过base关键字来访问父类中的成员。

   sealed  : 这个关键字指示类不能被继承,即不能派生出其他的子类。c#中的结构就是隐式使用了这个
关键字。

   virtual: (虚方法)使用这个关键字来修饰方法,表示子类可以通过重写这个方法的实现逻辑,这样
就可以实现同一个父类方法在多个子类中的实现逻辑不相同,

   override:  子类在重写父类中用virtual修饰的方法时,必须使用override关键字,指示这个方法时重
写了父类的方法

   as:  用来快速判断某个类型是否和另一个类型相兼容,不兼容则返回一个null

   is: 也用于类型兼容性检测,如果不兼容,则返回一个false。

   子类和父类的相互转换

   子类可以隐式转换为父类,但是父类不能隐式转换成子类,如果我们需要将一个父类存储到一个子类对

象中,我们必须执行强制转换,强制转换可能失败,会带来异常。所以在强制转换前,必须由程序员来控制

该父类对象是否能转换成一个子类对象。


包含/委托 继承   (has-a)关系

    这种类型可以简单理解成类的嵌套。即在一个类的定义中定义另外一个类。

   语法  class A
 {
  class B
  {

  }
 }
 
   注意,这种情况下,B是可以访问A中的私有成员的,在经典继承模型中,子类是不能访问父类中的私有
成员的。

2、异常

    c#中的异常处理机制称为结构化异常处理 SEH   structred exception handing  它的作用在于提供了
一种标准的技术来发送和捕获运行时的异常,并提供给用户比较友好的错误信息。

    c#中异常处理的4个要素

    (1)一个包含异常详细信息的类类型
    (2)一个引发异常类实例的成员
    (3)调用者的一段调用异常类型的代码块
    (4)调用者的一段处理将要发生异常的代码块
  
例 
public void methodA()
{
 try
 {
  int i = Convert.ToInt32("abc");
  }
 catch (Exception ex)
 {

 }
}

上面的代码块中  一个包含异常详细信息的类类型 指得就是catch中的Exception类型的一个对象ex

                一个引发异常类实例的成员  指的就是methodA方法所在的对象

               调用者的一段调用异常类型的代码块  指的就是try代码块中的代码块

               调用者的一段处理将要发生异常的代码块  指的就是catch代码块中的的我们要如何处理
异常的代码,我们可以在代码块中使用ex的相应属性来获取我们需要的异常信息。

注意   Exception 是c#中所有异常类型的基类,我们可以通过继承它来定义自己的异常类型,通过配置相
应的属性来编写我们自己的异常信息。

如何引发和获取异常
使用    try
 {
 }
 catch
 {
 }
语句来引发和捕获异常。将可能导致异常发生的代码放在try代码块中。

 

Windows Phone 7手机开发、 .Net培训、期待与您交流!
黑马程序员考试题 题目一 文本文件中存储了多个文章标题、作者,标题和作者之间用若干空格(数量不定)隔开,每行一个,标题有的长有的短,输出到控制台的时候最多标题长度10,如果超过10,则截取长度8的子串并且最后添加“...”,加一个竖线后输出作者的名字。 namespace test1 { class Program { /*文本文件中存储了多个文章标题、作者,标题和作者之间 阅读详情

相关推荐

黑马程序员—C#系列 (一)

1.学习4句话 Console.Redkey() // 暂停 Console.WriteLine() //输出内容 Console.ReadLine() //请求用户输入 string name = Console.ReadLine();//取得用户输入的内容赋给变量name 2.变量 int i = 0; // 变量只能声明一次,但是可以多次赋值,多次使用 int i8,i9,

BuHuanLiaoxxxxx的专栏 1365

黑马程序员_学习日记5_C#基础归纳总结之派生类的构造函数

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 派生类的构造函数       我们都知道 单个类的构造函数是干嘛用的。但是如果一个类直接或者间接的派生自很多个别的类的时候,是不是只执行当前实例化的那个类的构造函数呢? 答案是:NO!   现在假定这么一个情况,我们没有为自己所

gqsloveaspnetverymu的专栏 405

CentOS 9 Stream 上安装 MySQL 8.0+

根据提示进行设置,包括设置新的 root 密码、禁用远程 root 登录等。MySQL 在首次安装时会生成一个临时密码。这样就完成了 MySQL 8.0.37 的安装。这将安装最新的 MySQL 8.0 版本。

小强不是坑 1679

黑马程序员--一个初中没毕业的苦逼,到8.5k的程序人生,感谢黑马

乡亲们and同学们:                 大家好!         貌似现在感谢信是每个黑马毕业后找到工作的首要任务了!   我是5月份进的黑马,是9期的, 其实感觉从我搭上飞机,落在北京之时这一切都好像做梦似的,我是90年出生的, 属于90后了,我辍学的非常的早,在我上初中二年级的时候就辍学了。       可以说我是一个标准的小学毕业生吧,当时我16岁,在我16岁到22

juemei_05的专栏 1081

educoder 5-3Python 计算思维训练——地图模拟

任务描述 本关任务:利用 Python 实现动画观察近 30 天 4.5 级以上地震发生情况。 相关知识 为了完成本关任务,你需要掌握:1.如何用 Python 从网络获取所需数据;2.如何用 Python 绘制地图 从网络获取数据 URL 处理模块(库) 在这里插入代码片 import urllib.request as req 创建一个表示远程 url 的类文件对象 urllib.urlopen(" ") 如同本地文件一样读取内容 print data的输出结果: 摘取动画所需数据

Manonll的博客 2487

别再只抄代码了!深入理解MQ2传感器数据手册,搞定ppm换算公式

本文深入解析MQ2烟雾传感器的工作原理与ppm换算公式,从数据手册解读到数学建模,提供详细的校准与优化方法。通过实际案例和代码示例,帮助开发者准确测量气体浓度,解决常见问题,提升传感器应用的可靠性。

weixin_42713608的博客 504

黑马程序员 C#学习1

Windows Phone 7手机开发、.Net培训、期待与您交流!   1、什么是.net与C#     .net是一门技术,是一个开发平台,在这个平台上,我们可以使用多种开发语言来进行开发。     C# 则是一门语言,是在.net平台下进行程序开发的一门语言。     他们是一种依赖关系,c#是依赖于.net框架的 2、.net能开发什么     使用.net主要可以开发3

ilovedxt的专栏 453

SONiC (6) - SONiC 源码框架分析

https://github.com/sonic-net/sonic-utilitieshttps://github.com/sonic-net/sonic-snmpagenthttps://github.com/sonic-net/sonic-linux-kernelhttps://github.com/sonic-net/sonic-platform-commonhttps://github.com/sonic-net/sonic-platform-daemons以下是在 SONiC 中运行的容器列表:

qq_49477505的博客 1333

黑马程序员_C#编程基础

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- C#编程基础 1.概念:.Net与C# .Net/DotNet: 是一种平台,一种技术。一般指.Net Framework 框架。 C# (sharp): 是一种编程语言。可开发基于.net平台的应用。 (*) Java既是

creating2000的专栏 1042

硬件笔记——HDMI接口

HDMI可以同时传输视频信号、音频信号和控制信号。其中高速信号有四组:从Data TX到Data RX有3组差分数据信号(TMDS_DATA0~2)和一组差分时钟信号(TMDS_CLOCK)。以及若干低速线。脚编号信号名称信号类型功能说明1热插拔检测连接状态检测。接收端通过此引脚向源端发送高电平信号,通知其已连接并可以开始读取EDID。2UTILITY车载用途悬空3TMDS数据通道2差分信号正极,用于传输视频像素、音频和数据包。4TMDS数据2屏蔽。

2501_94625908的博客 542

用Stata复现经典文献:上市公司全要素生产率(TFP)计算全流程(含LP/OP代码解读)

本文提供了使用Stata软件复现上市公司全要素生产率(TFP)计算的完整实战指南。重点解读了主流的Levinsohn-Petrin(LP)和Olley-Pakes(OP)半参数估计方法,通过详细的数据清洗、变量构建与价格平减步骤,手把手演示了如何准确测算TFP,并强调了LP方法在处理中国上市公司数据时的稳定性和适用性。

b0c1d2的博客 595

C#新手该如何规划学习【学习路线指南】

花费了几天时间整理了C#学习路线图,可以说是纯野生C#程序员成长路线规划,在这里分享下,希望可以帮助到想从事C#开发的同学们。本人阅历尚浅,有些知识点可能分享不正确,希望广大网友评论区补充,我会同步修正更新。题记最近自己一直在想,一个初学者刚开始应该学些什么,该学习到哪种程度找工作才不成问题,才能在做项目时游刃有余不被Bug所困住。是不是每一个初学者在刚开始学习任何一门编...

zls365365的博客 1万+

【Unity 实用工具篇】 | Unity网格破碎插件 unity-fracture

前面写过一篇Unity中物体破碎效果的插件:【Unity 实用工具篇】 | Unity物体破碎效果 OpenFracture 本文介绍一个另外的工具unity-fracture,也可以实现网格破碎效果,且功能与OpenFracture略有差异。

努力前行,总会成为自己心中的那道光 1万+

[黑马程序员]c#基础学习笔记

------- WindowsPhone 7手机开发、.Net培训、期待与您交流! ------- .net指.net Framework框架,一种技术,一种平台 c#语言 .net可以开发桌面应用程序(Winform),Internet应用程序(asp.net、WebServer),手机开发wp7 .cs表示是类文件 Console.ReadKey();程序停在这里等待用户从键

dan810103的专栏 1195

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

C# BS方向 该如何规划学习?【学习路线指南】

C#学习路线指南 花费了几天时间整理了C#学习路线图,可以说是纯野生C#程序员成长路线规划,在这里分享下,希望可以帮助到想从事C#开发的同学们。本人阅历尚浅,有些知识点可能分享不正确,希望广大网友评论区补充,我会同步修正更新。 题记 最近自己一直在想,一个初学者刚开始应该学些什么,该学习到哪种程度找工作才不成问题,才能在做项目时游刃有余不被Bug所困住。 是不是每一个初学者在刚开始学习任何一门编程语言的时候,都会有这样的疑问,都觉得无从下手,没有头绪。反正我当时确实有这样的困惑,在刚开始接触编程的时候,

讲述工作、生活、技术中的日常与感悟。 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

黑马程序员--学习C#基础2

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 从29号开始近3天以来的学习笔记 7月29号 (1)for循环      格式 for(初始条件;判断条件;用来改变条件){执行语句; } 三个语句执行顺序 第一个 判断一下 执行{}里边的语句 在回过来执行i++      f

a332531的专栏 666

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

黑马程序员——C#基础视频笔记(苏昆老师的视频)

1.显示行号:工具-〉选项-〉文本编辑 2.恢复设置:工具-〉导入导出设置-〉重置所有设置 3.快捷键:home:行起始       end:行末尾       pageUp:上一页       pageDown:下一页       shift+home:向前选中本行       shift+end:向后选中本行       shift+pageUp:……       ……  

WayToAccept的专栏 1672

黑马程序员_学习日记1_C#基础

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 优快云终于可以发帖了,把前几天的补上...... 4月12日 今晚网速很慢,下黑马视频很卡,我下了一本《C#基础教程》的电子书来学习,做笔记如下: 一、IL(Microsoft中间语言)的五大特性: 1、实现给定接口的类,必须

Jack's Domain 528

黑马程序员——C#基础总结笔记

---------------------- http://edu.youkuaiyun.com"target="blank">ASP.Net+Android+IOS开发、<a href="http://edu.youkuaiyun.com"target="blank">.Net培训、期待与您交流! ---------------------- 1..net与C#的关系 .net框架是一种平台,一种技术    

u013681984的专栏 808

黑马程序员--对于C#中几种循环的简单总结

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------     我是初学者,但是是比较喜欢编程的,我学习视频的时候发现其实循环虽然看着简单,但是很重要,所以在这里分享下对C#循环的总结。C#中的循环方法有几种:for, while,do-while 和for each.,在这里依次简单的介绍

guojiajiaaa的专栏 1780

黑马程序员——C#面向过程

------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------      -->.Net是一种平台、一种技术,又读作DotNet,也指,Net Framework框架。      -->C#(C Sharp)是一种编程语言,可以开发基于.Net平台的应用程序。相对于Java语言,Java既是一种技术,又是一种编程语言。      -->在.Net平台上,

陈晖ToDo 953

黑马程序员--学习5

------- Windows Phone 7手机开发、.Net培训、期待与您交流! ------- javascript 和 dom的关系相当于c#和.net之间的关系.css+javascript+dom=DHTMLwindow 对象 表示当前浏览的窗口 可以省略 confirm方法显示确定 取消对话框if(confirm(“是否继续?”)){alert(“确定”);...

243

黑马程序员--c#的学习小结一

------------------ Windows Phones 7手机开发、.Net培训、期待与您交流! ---------------------- 1.面向对象的思想:继承 多态 封装。 封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内部。 继承:子类拥有父类的所有数据和操作。 多态:一个程序中同名的不同方法共存的情况。   有两种形式的

.net小虾米 549

黑马程序员_.net入门及初识c#

------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------    1、概念: .Net与c#的区分       .Net/dotnet 一般指的是.Net Framework框架、它是一种技术  一个平台,而c#指的是一种编程语言(如:c/c++  java等)、用其编的应用程序可以在.Net平台上运行。 2、.Net能做些什么呢?

紫枫的博客 975
上一篇: 黑马程序员c#学习4
下一篇: 黑马程序员c#学习6
ilovedxt
博客等级 码龄14年 2粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值