码迷,mamicode.com
首页 > Windows程序 > 详细

2017-9-20C#笔记(类,访问修饰符以及访问性,静态成员和实例成员,字段,Main方法,常量,对象的创建,类的属性)

时间:2017-09-24 09:52:50      阅读:383      评论:0      收藏:0      [点我收藏+]

标签:需要   class   自定义   面向   含义   静态   类的变量   功能   nbsp   

软件开发的两种主要的方式为面向对象和面向过程,面向过程的焦点主要放在指令的组合和优化上,面向对象的焦点从指令转移到组织程序的数据和功能上.

程序的数据和功能被组织为逻辑上相关的数据项和函数的封装集合,称之为类.类作为一个有机的不可分割的整体,对外隐藏具体实现细节,从而实现可重用和易维护等特性,同时还提供了继承功能,支持子类获得父类特征.

类是一个能存储数据并执行代码的数据结构,是逻辑相关的数据和函数的封装,通常代表真实世界中的或概念上的事物.

类包括以下内容:

(1) 数据成员:数据成员用来存储与类或对象相关的数据.数据成员通常模拟该类所表示的现实世界事物的特性

(2) 函数成员:函数成员执行代码,通常模拟类所表示的现实世界事物的功能和操作.

成员可以使9种可能的成员的任意组合:

 技术分享

类是用户自定义数据类型:

C#中定义类的一般形式:

[类修饰符]   class   类名

{

成员列表

}

 技术分享

类定义同结构体定义一样,系统不会为它分配存储空间。

  1. 访问修饰符的含义以及访问性:

 技术分享

对访问修饰符的使用补充:

(1)   所有显式声明在类中的成员都是互相可见的,无论这些成员具有何种访问控制属性

(2)   类的成员不会具有比类的整体更开放的访问权限

(3)   访问修饰符可以以任意顺序出现零次或多次,一个访问修饰符只修饰当前的一个类成员。

(4)   如果一个成员在声明的时候没有携带任何访问修饰符,则默认它是私有成员。

  1. 静态成员和实例成员

针对成员定义是否使用关键字static进行修饰,可以将类成员分为静态成员和实例成员

(1)   实例成员:

实例成员有时称为费静态成员,它与类成员的对象相关。当字段、方法、属性、事件、索引器、析构函数和构造函数的声明中不包含static修饰符时,它生命为实例成员。实例成员的特点:

①   使用“类对象.成员名”的形式进行引用

②   类的每一个对象分别包含一组该类的所有实例字段

③   实例函数成员作用于类的给定对象,可借助this访问器访问。

(2)   静态成员

静态成员与类而不是类对象相关

当字段、方法、属性、事件、运算符或构造函数声明中含有static修饰符时,它声明静态成员。类的常量成员会隐式地声明静态成员

静态成员有如下特性:

①   使用“类名.成员名”的形式进行引用

②   静态字段的存储由类的所有对象共享,只有一个副本

③   静态函数成员不能作用于具体对象们不能使用this访问器访问。

 

4.字段

字段是隶属于类的变量。他可以是任意数据类型,包括预定义类型和用户自定义类型。字段可以用来保存数据,并且支持读写操作。

字段的声明语法:

[static]   访问修饰符  数据类型 字段名;

static修饰符的字段是类的静态字段,只要类定义只有就由编译器为止分配空间。没有static关键字修饰的字段是类的实例字段,只有定义了类的对象或对类进行实例化之后,才为该对象或类实例分配这个字段的存储空间。

类的静态字段有位移的存储空间,被类的所有实例公共访问。对于类的实例字段,每个类实例都有独立的用以存储该实例字段的存储空间。

使用volitile修饰的可变字段只有在多线程的程序运行环境下,采用优化技术菜会造成与非可变字段不同的访问结果。

5.Main方法

Main方法的补充:

(1)       Main方法必须声明为static,否则程序无法启动

(2)       Main方法可以声明在程序中任意的类或者结构体中。

(3)       Main方法默认被声明为private,此时只能通过执行环境来启动当前程序;Main方法可以被声明为publi使得其他程序能够访问。

  1. 1.  常量

常量的声明语法:

访问修饰符  const  数据类型  常量名=常量值

如 const  double  PI = 3.14;

用于初始化常量成员的值在编译期必须是可计算的,而且通常是一个预定义简单类型或由他们组成的表达式。成员常量只能在声明时给常量成员赋值,任何在声明之后给常量成员赋值的动作都会造成编译错误。

常量成员没有自己的存储位置,而是在编译时被编译器替换,因此不能使用static关键字进行修饰。

C#中没有全局变量,每个常量都必须声明在类型内。

  1. 2.  对象的创建

创建对象时需要使用new运算符。new运算符可以为任意指定类型的实例分配并初始化内存。创建对象的语法形式如下:

对象名 = new 类名();

进行对象创建时需要注意:

(1)   new运算符后为要创建的对象所属类的类名;

(2)   类名后的圆括号不可省略

(3)   可以将对象的定义和创建合并一起;如 Point  p1=new Point()

8.类的属性

类字段的访问权限一般的定义为private和protected,类外用户通过类的public方法来访问

C#中的属性把字段和访问他们的方法结合。属性为类用户提供了与字段读写相同的使用方法。

属性值得读写通过get访问器和set访问器实现的,可以对非法的赋值进行检查过滤。

(1)       属性的定义

属性声明的一般形式为:

[访问修饰符]  属性类型  属性名

{

get

{

//获取属性值得代码

return 表达式;//这里可以输入更多的代码,此处是典型代码

}

set {

//设置属性值的代码

}

}

2017-9-20C#笔记(类,访问修饰符以及访问性,静态成员和实例成员,字段,Main方法,常量,对象的创建,类的属性)

标签:需要   class   自定义   面向   含义   静态   类的变量   功能   nbsp   

原文地址:http://www.cnblogs.com/Adaisme/p/7586146.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!