C#基础第八天(面向对象)

2016-04-25  本文已影响0人  达茂人在北京

面向过程:面向的是完成这件事的过程,强调的是完成这事的动作。

如果我们面向过程的思想来解决这件事,当执行这件事的人不同的时候,我们需要

为每个人定做解决事情的方法。

洗衣服

1.把洗衣机门打开2.把衣服塞进去3.把洗衣机门关上

小孩  瘦小 矮

小孩踩着凳子打开洗衣机门,把衣服一件一件的放进去,踩着凳子立起脚尖把洗衣机门关上。

大人 高大壮实

大人自己把洗衣机门打开,抱起一堆衣服直接塞进去,把洗衣机门关上。

面向对象:找个对象做事

我们把洗衣机当做对象

1.洗衣机门被打开2.衣服被塞进洗衣机里3.洗衣机门被关上。

面向对象在意写出一个通用的代码,屏蔽差异。

关门

张三轻轻把门关上。李四一脚把门踹上。王五没把门关严。

门可以被关

我们在代码中描述一个对象,通过描述这个对象点属性和方法此对象必须是看得见

摸得着的

灯:属性和方法

属性

外形:长的

亮度:40w

颜色:白色

牌子:xx

方法:发光

我们把这些具有相同方法和属性度对象进行封装,抽象出类的概念。

累就是个模子,确定对象应该具有的属性方法。

对象是根据类创建出来的

类就是一个盖大楼的图纸,对象就是盖出来的大楼

2、类

语法

(public)class类名{

             字段;

             属性;

             方法;

写好一个类之后,我们需要创建这个类的对象。

那么,我们管创建这个类的对象过程叫类的实例化使用关键字new

this:表示当前这个类的对象

类是不占内存的,对象是占内存的

3、属性

属性的作用就是保护字段、对字段对赋值和取值进行限定。

属性对本质就是两方法,一个叫get()一个叫set()。

既有get()也有set()称为可读可写属性

只有get()没有set()称为只读属性

只有set()没有get()称为只写属性

4、访问修饰符

public:公开对公共对,在哪都能访问

private:私有对,只有在当前类内部进行访问,出了这个类就访问不到

protected:受限制的只有本身和他的子类可以进行访问

5、当我们创建好一个类的对象后,需要给这个对象的每个属性去赋值。

我们管这个过程称为对象的初始化。

6、静态和非静态的区别

1.在非静态类中,既可以有实例成员,也可以有静态成员。

2.在调用实例成员时候,需要使用对象名.实例成员;

在调用静态成员的时候,需要使用类名.静态成员名;

总结:静态成员必须使用类名去调用,而实例成员使用对象名调用。

静态函数中,只能访问静态成员,不允许访问实例成员。

实例函数中,既可以使用静态成员,也可以使用实例成员。

静态类中只允许有静态成员,不允许出现实例成员。

使用:

1、如果你想要你的类当做一个“工具类”去使用,这个时候可以考虑将类写成静态的。

2、静态类在整个项目中资源共享。

只有在程序全部结束之后,静态类才会释放资源。

堆 栈 静态存储区域

私房资源。gc garbage collection垃圾回收器

构造函数

作用:帮助我们初始化对象(给对象的每个属性依次赋值)

构造函数是一个特殊的方法:

1.构造函数没有返回值,连void也不能写。

2.构造函数的名称必须跟类名一样。

创建对象的时候会执行构造函数

构造函数是可以有重载的。

类当中会有一个默认的无参的构造函数,当你写一个新的构造函数之后,不管是有参的还是无参的,那个默认的无参数多构造函数都被干掉了。

8、new关键字

person zsperson=new person();

new帮助我们做了三件事

1.在内存中开辟一块空间

2.在开辟空间中创建对象

3.调用对象的构造函数进行初始化对象

9、this关键字

1.代表当前类多对象

2.在类当中显示的调用本类的构造函数this

上一篇 下一篇

猜你喜欢

热点阅读