面向对象编程基础(干货)

曾经看过的一些慕课网学习视频,做下笔记,后序更新。

概念1:对象和类

图1:对象和类的区别,对象具体到实物,类是一种事物的泛称。(比如:对象猫、对象狗     ---    对应着动物类)

图2:对象和类的代码块,类定义了字段、属性和方法。而对象则定义对应的字段、属性、方法是什么。(举例:类的字段为姓名、性别、年龄、身高以及方法爱好    ---  对应的对象即为小明、男孩、6岁、120cm、踢足球)

图3:一个简单类的实现。

图4:实例化对象,也就是我们常数的New一个对象。

                

概念2:方法

1.方法是对象的动态行为,使用方法分为两个过程:定义方法+调用方法。

2.方法又分为无参方法 () 和有参方法 ("参数") 。无参方法一般调用以后就一种动态行为,例如打人的无参方法就是打人;但是有参方法可以根据不同的参数输入,输出不同的动态行为,比如打人的有参方法可以选择轻打、重打或者打死,哈哈。

3.方法的声明是在类中,方法的调用可以在类外面。

4.方法的重载:重载仅针对有参方法,也就是说,对同一种方法,输入不同的参数,得到不同的结果。如下图:同一种方法EatSugar可以根据不同的参数输入,调用具体的方法。(说一个概念:下图中形参即为int count,实参即为我们输入的数量,例如2)

5.return在方法中的两个作用:结束方法调用+带回返回值。

概念3:构造方法

1.无参构造方法与有参构造方法。(和上面的普通方法差不多,如果类里面没有特意的去声明一个构造方法,那么这个类其实已经默认的存在一个无参构造方法,当然如果你在类中定义好了一个构造方法,不管是有参的还是无参的,那么默认的那个无参构造方法就不存在了)。

2.构造方法的作用:为属性赋值。

3.构造方法通常声明为public

4.构造方法的特殊点之一就是没有返回值类型。(比如int啊什么的)

5.构造方法必须与类名相同

6.我们通常所说的new一个对象。其实new后面跟着的就是类的构造方法。

7.构造函数中可以使用this关键字,用以访问当前对象的字段和方法。

8.构造方法也是可以和普通的方法一样被重载的,具体的实现方法一样,也是根据输入参数的不同来区分的。

9.构造方法的初始化器:即在()与;之间加入一个{},大括号内的即为对象初始化器的内容,但是要与你的有参构造函数所对应。

概念4:值类型与引用类型

1.这个就不说了,记住string和类是引用,结构struct是值类型即可。

2.结构的一点概念:结构可以定义字段、属性和方法;不能为结构中的字段赋初值;结构的构造方法必须为所有字段赋值;不能为结构显示的定义无参的构造方法;结构类型的对象可以不实例化。

3.枚举:一定范围内的东西为了方便操作而搞的,比如一周就7天,性别只有男和女,可以用枚举来搞。他也有三个特点:1.值类型;2.枚举里面不可以定义字段、属性和方法;3.枚举值是从0递增的整数。

4.ref和out关键字:ref用来传参,即当我的参数是值类型的时候,可以用引用类型来传递;如下图我们在调用Growth函数时,参数使用ref关键字,使得该参数可以以引用类型来操作,运行一次得4,如果不使用ref关键字,则运行后得3。这也是值类型与引用类型的区别所在,值类型形参改变,实参是不变的,引用类型跟着变。

  out用来获取结果,相比与return来说,return每次只返回一个结果,如果想返回多个结果,则使用关键字out。当然你在调用这个函数的时候也需要使用out关键字,我没有截图,目的也是把值类型当成引用类型来用。

                 

可观看慕课网视频,个人感觉最佳详细且关联性很强。

posted @ 2019-08-01 22:28  WeiMLing  阅读(692)  评论(0编辑  收藏  举报