1、面向过程-----> 面向对象

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

面向对象:找个对象帮你做事。

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

我们在代码中描述一个对象,一般都是通过描述这个对象的属性和方法。

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

类相当于工厂里的模具,确定了对象应该具有的属性和方法。

对象是根据类创建出来的。

2、类

语法: [public] class 类名

{

字段;

属性;

方法;

}

写好了一个类之后,我们需要创建这个类的对象, 那么,我们管创建这个类的对象过程称之为类的实例化。

使用关键字 new.

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

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

3、属性

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

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

既有get()也有set()我们称之为可读可写属性。

只有get()没有set()我们称之为只读属性。

没有get()只有set()我们称之为只写属性。

Field字段 Method方法 Property属性

4、访问修饰符

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

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

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

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

6、静态和非静态的区别

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

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

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

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

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

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

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

使用:

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

2)、静态类在整个项目中资源共享。 只有在程序全部结束之后,静态类才会释放资源。

释放资源。GC Garbage Collection垃圾回收器

7、构造函数

作用:

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

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

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

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

创建对象的时候会执行构造函数 构造函数是可以有重载的。

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

8、new关键字

Person zsPerson=new Person();

new帮助我们做了3件事:

1)、在内存中开辟一块空间

2)、在开辟的空间中创建对象

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

9、this关键字

1)、代表当前类的对象

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

10、析够函数(*)  ~

不能在结构中定义析构函数。

只能对类使用析构函数。

一个类只能有一个析构函数。

无法继承或重载析构函数。

无法调用析构函数。它们是被自动调用的。

析构函数既没有修饰符,也没有参数

~Student()
{
Console.WriteLine("我是析构函数");
}
//当程序结束的时候 析构函数才执行
//帮助我们释放资源
//GC Garbage Collection

C#面向对象总结1的更多相关文章

  1. angular2系列教程(六)两种pipe:函数式编程与面向对象编程

    今天,我们要讲的是angualr2的pipe这个知识点. 例子

  2. 一起学 Java(二)面向对象

    一.方法函数 函数也称为方法,就是定义在类中的具有特定功能的一段独立代码.用于定义功能,提高代码的复用性. 函数的特点1> 定义函数可以将功能代码进行封装,便于对该功能进行复用:2> 函数 ...

  3. js面向对象学习 - 对象概念及创建对象

    原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...

  4. 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型

    前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的 ...

  5. .NET 基础 一步步 一幕幕[面向对象之对象和类]

    对象和类 本篇正式进入面向对象的知识点简述: 何为对象,佛曰:一花一世界,一木一浮生,一草一天堂,一叶一如来,一砂一极乐,一方一净土,一笑一尘缘,一念一清静.可见"万物皆对象". ...

  6. 简单分析JavaScript中的面向对象

    初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...

  7. Java程序员应该了解的10个面向对象设计原则

    面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorat ...

  8. JavaScript学习笔记(三)——this、原型、javascript面向对象

    一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...

  9. 带你一分钟理解闭包--js面向对象编程

    上一篇<简单粗暴地理解js原型链--js面向对象编程>没想到能攒到这么多赞,实属意外.分享是个好事情,尤其是分享自己的学习感悟.所以网上关于原型链.闭包.作用域等文章多如牛毛,很多文章写得 ...

  10. .NET基础拾遗(2)面向对象的实现和异常的处理基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

随机推荐

  1. 双向循环链表的Java版本实现

    1.单项循环列表 单向循环链表是单链表的另一种形式,其结构特点是链表中最后一个结点的指针不再是结束标记,而是指向整个链表的第一个结点,从而使单链表形成一个环.和单链表相比,循环单链表的长处是从链尾到链 ...

  2. Web_add_header

    如果你发现所有的HTTP send请求都缺少头数据包,在脚本中的开头添加web_add_auto_header(”XXXXX“,”yyyy“);随着web_add_auto_header的添加,你不需 ...

  3. JFrame中setDefaultCloseOperation的参数含义

    实例1:一个空的java窗口 // JFrameDemo1.java import javax.swing.*;     //使用Swing类,必须引入Swing包 public class JFra ...

  4. YOU KNOW NOTHING , SNOW

    JVM运行时数据区域 方法区: 用 于存储虚拟机加载的类信息,常量,静态变量,JIT编译后的代码,所有线程共享 堆:所有线程共享,用来存储实例对象. 虚拟机栈:线程私有,生命周期与线程相同,每个方法被 ...

  5. 浙江理工2015.12校赛-G Jug Hard

    Jug Hard Time Limit: 10 Sec Memory Limit: 128 MB Submit: 1172 Solved: 180 Description You have two e ...

  6. php程序员的水平 看看自己属于那个级别的

    文章链接:http://www.oschina.net/question/570781_60150?sort=time&p=4#answers

  7. Duilib实现类似电脑管家扫描目录效果

    实现原理: 1.后台开线程遍历目录,遍历出一个文件路径在界面上更新显示(通过发消息通知主界面) 2.需要扩展一下Duilib控件,在此我扩展了CLabelUI,重写了PaintText函数 扩展控件的 ...

  8. 【leetcode❤python】 396. Rotate Function

    #-*- coding: UTF-8 -*- #超时#        lenA=len(A)#        maxSum=[]#        count=0#        while count ...

  9. [翻译]LSP程序的分类

    翻译的太垃圾,不建议其它人阅读本文. Note:LSP现在已经不推荐使用.自windows8和windows Server2012开始,使用Windows Filtering Platform. Wi ...

  10. Java开发中经典的小实例-(100能被3整除的数打印出来)

    public class Test21 {    public static void main(String[] args) {        // TODO Auto-generated meth ...