美文网首页
C#基础第八天(面向对象)

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

作者: 达茂人在北京 | 来源:发表于2016-04-25 17:37 被阅读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

相关文章

  • 从零开始学C#--一些其它的问题

    本篇属于:从零开始学C# | 基础篇 | 06 到本篇为止,C#的基础篇就完结了,即将进入到面向对象的学习。 关于...

  • C#面向对象基础

    oop:面向对象,全称叫 object oriented programming 面向对象的三大特性:1.封装 ...

  • C#面向对象基础

    Static:调用本类对象的时候可以直接调用(不用创建对象,模拟全局变量) This:表示当前类的对象 3.属性(...

  • C#面向对象基础

    基本概念 面向过程:完成这件事的过程,强调完成的动作 把大象放进冰箱:1.打开冰箱门;2.把大象塞进去3.关闭冰箱...

  • 菜鸟上路,欢迎指正

    1:C#面向对象小结:

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

    面向过程:面向的是完成这件事的过程,强调的是完成这事的动作。 如果我们面向过程的思想来解决这件事,当执行这件事的人...

  • C#面向对象基础3

    1.序列化与反序列化序列化:对象转换为二进制(为了传输数据,计算机以及网络中的数据都是以二进制进行识别) [Ser...

  • C#面向对象基础2

    1.里氏转换: 子类可以赋值给父类 如果父类创建的是子类对象,那么可以将父类强制转换为子类 Is可以判断一个类的对...

  • c#与objective-c

    C#是微软推出的一种基于.NET框架的、面向对象的高级编程语言。C#以.NET框架类库作为基础,拥有类似Visua...

  • 建议27:明晓类公共领域的方法都是虚方法

    众所周知,在C++,C# 等面向对象开发语言中,虚方法(函数)是实现“多态”的基础,其实现原理:运行系统将根据对象...

网友评论

      本文标题:C#基础第八天(面向对象)

      本文链接:https://www.haomeiwen.com/subject/ywgxrttx.html