前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习笔记

学习笔记

作者头像
_一级菜鸟
发布2019-09-10 10:37:11
4320
发布2019-09-10 10:37:11
举报
文章被收录于专栏:工厂程序员

1.变量命名

Camel:多用于给变量或者字段命名,第一个单次首字母小写,其余每个单词的首字母大写。

给字段命名,前面必须加下划线。

_ fileName

Pascal:要求每个单词的首字母都要大写。

FileName

2.进程

一个应用程序就是一个进程,而一个进程又是由多个线程组成的。

进程帮助我们字内存中分配相应程序执行所需的空间。

3.面向对象

面向对象三大特性:封装,继承,多态

封装:

--->减少了大量的冗余代码

---->封装将一些复杂的代码封装起来,对外提供一个简单的使用接口。

继承:

--->减少类中的冗余代码

  --->让类与类产生了关系,为多态打下基础

特性:

单根性:一个子类只能有一个父类

传递性:子类继承父类,子类又可以作为父类被继承。

里氏转换:

      1.子类可以赋值给父类

      2.如果父类中装的是子类对象,则可以将这个父类转换成相对应的子类对象

      --->

      is:返回bool类型,指示是否可以做这个转换

       as:如果转换成功,则返回对象,否则返回NULL

 作用:可以将所有子类当成父类来看 ,针对父类进行代码编写,写出通用的代码,适应需求的不断变更

代码语言:javascript
复制
class Program
    {
        static void Main(string[] args)
        {
            Person person = new Student();
            if (person is Teacher)//判断person是否为Teacher对象
            {
                ((Teacher)person).TeacherSayHello();
            }
            else
            {
                Student s = person as Student;//将person转换为student对象
                if (s != null)
                {
                    s.StudentSayHello();
                }
            }
            Console.ReadKey();
        }
    }

   public class  Person
  {
       public void PersonSayHello()
       {
         Console.WriteLine("我是人类");
       }
  }

   public class Student : Person
   {
       public  void StudentSayHello()
       {
           Console.WriteLine("student");       
       }
   }

   public class Teacher : Person
   {
       public void TeacherSayHello()
       {
           Console.WriteLine("我是老师");
      

多态;

--->虚方法

    virtual override

  --->抽象类

    abstract override

  --->接口

    interface

类决定了对象将要拥有的属性和行为。

4.关键字

new:

1)创建对象

--->在堆中开辟空间

--->在开辟的堆空间中创建对象

--->调用对象的构造函数

2)隐藏父类的对象

this:

1.代表当前类的对象

2.显示的调用自己的构造函数

base:

1.显示调用父类的构造函数

2.调用父类的成员

5.抽象类实现多态

代码语言:javascript
复制
 1 class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             UDisk u = new UDisk();
 6             MobileDisk m = new MobileDisk();
 7             Telphone t = new Telphone();
 8             Computer c = new Computer();
 9             c.MS = t;
10             c.CpuRead();
11             c.CpuWrite();
12             t.PlayMusic();
13             Console.ReadKey();
14 
15         }
16     }
17 
18     abstract class MobileStorage
19     {
20         public abstract void Read();
21         public abstract void Write();
22     }
23 
24     class MobileDisk : MobileStorage
25     {
26         public override void Read()
27         {
28             Console.WriteLine("移动硬盘在读取");
29         }
30         public override void Write()
31         {
32             Console.WriteLine("移动硬盘在写入");
33         }
34     }
35 
36     class UDisk : MobileStorage
37     {
38         public override void Read()
39         {
40             Console.WriteLine("U盘在读取");
41         }
42 
43         public override void Write()
44         {
45             Console.WriteLine("U盘在写入");
46         }
47 
48     }
49 
50     class Telphone : MobileStorage
51     {
52         public override void Read()
53         {
54             Console.WriteLine("手机在读取");
55         }
56 
57         public override void Write()
58         {
59             Console.WriteLine("手机在写入");
60         }
61 
62         public void PlayMusic()
63         {
64             Console.WriteLine("手机在播放音乐");
65         }
66     }
67 
68     class Computer
69     {
70         public MobileStorage MS
71         { 
72           get;     
73           set; 
74         }
75         public void CpuRead()
76         {
77             this.MS.Read();
78         }
79         public void CpuWrite()
80         {
81             this.MS.Write();
82         }
83     }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-12-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档