离基础班结束大概还有三天

说实话,老赵(传智播客 赵剑宇)教的真的好,虽然最近学的感觉好难,但是每个知识点都学的很细致,虽然真的很头疼,但是当越学越发现当时还是大白的时候写的代码好简单。今天真的好累,早上跑操早自习还上课,然后十点多去把昨天欠的代码学完了,吃了个饭又回来把昨天的代码复习一遍。看代码觉得写代码好简单,但是自己去做一个题的时候就一点思路都没有,感觉找不到方向,只能看着老赵写一行我照着抄一行,然后自己想一想这一步实现了什么功能,却从没想过这一行是怎么想出来的。挺担心以后自己写软件的时候我会不会无从下手,不知怎么写了。今天下午一节电工实训下来真的好累不想动,眼睛又疼又是麦粒肿。代码也不想传到博客里来,但是想想还是坚持下去吧。嗯。好接下来贴代码。

今天上午写的是模拟硬盘读写数据

先是思路图

然后是贴代码。。。。。。。。。

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5 using System.Threading.Tasks;
  6
  7 namespace 模拟移动硬盘
  8 {
  9     class Program
 10     {
 11         static void Main(string[] args)
 12         {
 13             //用多态来实现  将移动硬盘或者U盘或者MP3插到电脑上进行读写
 14             //MobileStorage md = new MobileDisk();
 15             //MobileStorage u = new UDisk();
 16             //MobileStorage mp3 = new MP3();
 17             MobileStorage ms = new MP3();//这里定义是什么设备插入
 18             Computer cpu = new Computer();
 19             //cpu.Ms = ms;
 20             //cpu.CpuRead();
 21             //cpu.CpuWrite();
 22             cpu.CpuRead(ms);
 23             cpu.CpuWrite(ms);//记得传参进去
 24             Console.ReadKey();
 25         }
 26     }
 27     public abstract class MobileStorage
 28     {
 29         public abstract void Read();
 30         public abstract void Write();
 31     }
 32     public class MobileDisk : MobileStorage
 33     {
 34         public override void Read()
 35         {
 36             Console.WriteLine("移动硬盘在读取数据");
 37         }
 38         public override void Write()
 39         {
 40             Console.WriteLine("移动硬盘在写入数据");
 41         }
 42     }
 43     public class UDisk : MobileStorage
 44     {
 45         public override void Read()
 46         {
 47             Console.WriteLine("U盘在读取数据");
 48         }
 49         public override void Write()
 50         {
 51             Console.WriteLine("U盘在写入数据");
 52         }
 53     }
 54     public class MP3 : MobileStorage
 55     {
 56         public override void Read()
 57         {
 58             Console.WriteLine("MP3在读取数据");
 59         }
 60         public override void Write()
 61         {
 62             Console.WriteLine("MP3在写入数据");
 63         }
 64         public void PlayMusic()
 65         {
 66             Console.WriteLine("正在播放音乐");
 67         }
 68     }
 69     public class Computer
 70     {
 71         //private MobileStorage _ms;
 72         //public MobileStorage Ms
 73         //{
 74         //    get
 75         //    {
 76         //        return _ms;
 77         //    }
 78
 79         //    set
 80         //    {
 81         //        _ms = value;
 82         //    }
 83         //}
 84
 85         //public void CpuRead()
 86         //{
 87         //    Ms.Read();
 88         //}
 89         //public void CpuWrite()
 90         //{
 91         //    Ms.Write();
 92         //}
 93         public void CpuRead(MobileStorage ms)//父类的数据传进来
 94         {
 95             ms.Read();//这就可以调用父类定义的方法啦(~ ̄▽ ̄)~*
 96         }
 97         public void CpuWrite(MobileStorage ms)
 98         {
 99             ms.Write();
100         }
101     }
102 }

这个就是变量可以点出来方法让人很难理解,这个类是如何传进来的还是头疼想不过来。跟这个有点相似的头疼的就是传参,传参现在写多了也差不多可以理解了,以后这个知识点可能会理解的好一些。

上午就是这样。。。

下午主要交了一些零散的知识。像五个访问修饰符,internal,public,protected,private,protected internal。

也挺难的,感觉呵呵不好说。先上代码吧,上两个感觉最难的。。。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using System.IO;
 7 using System.Runtime.Serialization.Formatters.Binary;
 8
 9 namespace 序列化和反序列化
10 {
11     class Program
12     {
13         static void Main(string[] args)
14         {
15             //序列化   将对象转化为二进制
16             //反序列化   将二进制转化为对象
17             //作用  传输数据。
18
19
20             //要将P这个对象传输给对方电脑
21             //Person p = new Person();
22             //p.Name = "张三";
23             //p.Gender = ‘男‘;
24             //p.Age = 29;
25             //using (FileStream fsWrite = new FileStream(@"C:\Users\就是栗子桑\Desktop\new.txt", FileMode.OpenOrCreate, FileAccess.Write))
26             //{
27             //    //开始序列化对象
28             //    BinaryFormatter bf = new BinaryFormatter();
29             //    bf.Serialize(fsWrite, p);
30             //}
31             //Console.WriteLine("序列化成功");
32
33
34             //接受对方发送过来的二进制  反序列化  流
35             Person p;
36             using (FileStream fsRead = new FileStream(@"C:\Users\就是栗子桑\Desktop\new.txt", FileMode.OpenOrCreate, FileAccess.Read))
37             {
38                 BinaryFormatter bf = new BinaryFormatter();
39                 p = (Person)bf.Deserialize(fsRead);
40             }
41             Console.WriteLine(p.Name);
42             Console.WriteLine(p.Age);
43             Console.WriteLine(p.Gender);
44             Console.ReadKey();
45         }
46     }
47     [Serializable]
48     public class Person
49     {
50         private string _name;
51         public string Name
52         {
53             get
54             {
55                 return _name;
56             }
57
58             set
59             {
60                 _name = value;
61             }
62         }
63         private int _age;
64         public int Age
65         {
66             get
67             {
68                 return _age;
69             }
70
71             set
72             {
73                 _age = value;
74             }
75         }
76         private char _gender;
77         public char Gender
78         {
79             get
80             {
81                 return _gender;
82             }
83
84             set
85             {
86                 _gender = value;
87             }
88         }
89     }
90 }

这个是序列化和反序列化,就是还不太熟悉第一次见。熟了就好了。

然后接下来是简单工厂模式,这一课老赵讲的挺扯的,感觉听不出什么所以然(哈哈哈是我水平低)

贴上来吧。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace 简单工厂设计模式
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             Console.WriteLine("请输入你想要的笔记本品牌");
14             string brand = Console.ReadLine();
15             NoteBook nb = GetNoteBook(brand);
16             nb.SayHello();
17             Console.ReadKey();
18         }
19         public static NoteBook GetNoteBook(string brand)
20         {
21             NoteBook nb = null;
22             switch (brand)
23             {
24                 case "Lenovo": nb = new Lenovo();
25                     break;
26                 case "Dell":nb = new Dell();
27                     break;
28                 case "Acer":nb = new Acer();
29                     break;
30                 case "IBM":nb = new IBM();
31                     break;
32             }
33             return nb;
34         }
35     }
36     public abstract class NoteBook
37     {
38         public abstract void SayHello();
39     }
40
41     public class Lenovo : NoteBook
42     {
43         public override void SayHello()
44         {
45             Console.WriteLine("我是联想");
46         }
47     }
48     public class Dell : NoteBook
49     {
50         public override void SayHello()
51         {
52             Console.WriteLine("我是戴尔");
53         }
54     }
55     public class IBM : NoteBook
56     {
57         public override void SayHello()
58         {
59             Console.WriteLine("我是IBM");
60         }
61     }
62     public class Acer : NoteBook
63     {
64         public override void SayHello()
65         {
66             Console.WriteLine("我是宏基");
67         }
68     }
69 }

还有一些零零散散的笔记,我自己也看不懂了哈哈哈,好了就是这样子了,感觉还是要努力,不然今年年底就完不成进度了。。。

好了今天就是这样。

希望明天更好。2015-12-11

时间: 2024-10-12 02:55:57

离基础班结束大概还有三天的相关文章

基础班结束小结

经过一个月的学习,让我了解到了IT这行业真的不容易做,存在一定的难度,如果不努力是没有回报的.在以前我们在课堂上学习了HTML,CSS,JS,JQ,还有Bootstrap,这些都是最基础的入门,相对而言,JS是其中最难的,到现在还是迷迷糊糊的,可能真的需要时间去消化一下. 做一个网页需要的基本机构 <html> <head> <title>用于设置网页标题</title> </head> <body></body> <

Python基础班每日整理(三)

02_Python基础_day04 while循环的基本格式初始化计数器while 条件:满足条件要重复执行的代码--修改计数器 明白break和continue两个关键字的作用,两者的区别是什么?break和continue都是专门用在循环中关键字,break是退出当前循环,不再执行当前循环后续代码continue是退出本次循环,继续下一次循环break和continue都只针对当前循环有效 字符串中常见的转义字符有哪些?\t制表符,输出文本时保持垂直方向对齐\n换行符 \输出反斜杠\r回车

基础班

不知不觉基础班结束了,在这段时间里,我受益匪浅.同学们的热情,老师的指导,让我对这个专业慢慢熟悉起来.从零基础到现在做一个网页,就好像梦一场.变化太大,自己还没反应过来,时间太快,还没来得及感慨.从一开始的html(网页内容)然后css(添加样式)再javascript(动态效果),越来越复杂.正所谓先苦后甜嘛,所以又学了jquery(写更少的代码,做更多的事),bootstrap(响应式设计简洁灵活).现在还不能说甜,因为还有更难的数据库!等数据库学好了,以后工作就甜了.基础班学的知识点都是为

合并_00基础班html+css(6days)

基础班课程安排 Html 3天Css:3天 一个静态网页项目:呱呱网 Javascript:8-9天 ????-- 当当网js动态效果网页 php web编程入门:6天(apache,mysql,php) ????-- 留言板(一个真正实用的php动态网站) ? html介绍 html:超文本标记语言 ( HyperText Markup Language ) ? html其实主要是为了将文件(文档)的内容以一定的形式和含义表现出来,这就是html的设计思想: 表形: 以一定的外形外观表现出来.

Java基础班学习笔记(4)

1:switch语句(掌握) (1)格式: switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; ... default: 语句体n+1; break; } 格式解释说明: switch:说明这是switch语句. 表达式:可以是byte,short,int,char JDK5以后可以是枚举 JDK7以后可以是字符串 case:后面的值就是要和表达式进行比较的值 break:表示程序到这里中断,跳出switch语句 default:如

框架基础:ajax设计方案(三)---集成ajax上传技术

之前发布了ajax的通用解决方案,核心的ajax发布请求,以及集成了轮询.这次去外国网站逛逛,然后发现了ajax level2的上传文件,所以就有了把ajax的上传文件集成进去的想法,ajax方案的level2的改进就不介绍了,不清楚的可到前几篇博客去看看.我们直接切入主题. 概念介绍: 1. js的FormData:js中在新的版本中已经支持了FormData对象,可以初始化一个空的form,或者初始化已经存在的form,浏览器测试代码. 2. 浏览器的支持:浏览器已支持input=file的

基础班总结

基础班总结 短短的一个月已经过去了,回眸一个月之前.自己是怀着复杂的心情来到传智播客的,从6月份毕业之后,就没有工作了,那句毕业就是失业的经典语句印证在我的身上.那几个月的时间我一直在思考自己适合做什么,自己能够胜任什么类型的工作,读了3年的学校专业,实习之后,才发现自己不适合做这一行.我就开始迷茫. 直到我知道有传智播客,适合0基础的,我就在犹豫要不要过来,最后家人给了我支持,让我过去先读一下基础班,看看是否合适先.然后过来发现真的有那么多跟我一样刚大学毕业,也是0基础的学生.看着自己过去一年

PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能

摘要: 本人刚参加PHP基础班培训,由于之前毫无基础,分享的心得可能不规范,方法也许也"旁门左道",不能保证质量,只作自己总结学习,也希望能帮助到同样是初学者的朋友们,共同进步. 在这里分享一下我们基础班学员遇到的一些疑点和我的分析.PS:分析不一定正确,希望同行指教 前一段时间笔者重感冒了,身体不舒服,还请了一天假没去上实操课,播客也没有来得及和大家分享.今天感冒已经好得差不多啦,就剩下一点留鼻涕喉咙痒而已,刚好今天是休息天不用上课,这里打铁趁热,赶紧给大家分享一下昨天学到的用JQ实

合并_00基础班js(9days)作业

作业说明:以下作业大致标明了所需要运用的知识点,其中灰色文字部分表示有难度的扩展提高题,为选做题. (基础)写出js语言的基本特点 (基础)写出js语法的基本要点(语句行,大小写,注释,运行环境与方式等) (基础,输出)网页一打开,要求依次弹出数字1-6,并且每弹出一次,页面就显示出对应的一个标题行(即从h1-h6).注意,页面中不应该出现h1-h6的标签,而应该是由js写出来的. (数据类型)定义若干个js变量,需表现出js中的各种数据类型,并在页面中输出每个变量的值和其对应类型.--使用"t