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

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

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

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

    类包括以下内容:

    (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 {

    //设置属性值的代码

    }

    }

    每天进步一点点;不为琐事困扰,每日岁月静好。
  • 相关阅读:
    shell脚本,通过传入的参数来计算最大值和最小值以及平均值。
    mac date命令
    jstorm系列-2:入门
    jstorm系列-1:入门
    git 如何恢复只是提交到本地的文件(或者commit)
    shell 参数
    shell 运算符
    shell 中的<,<<,>,>>
    shell 学习笔记
    java 多线程剖析
  • 原文地址:https://www.cnblogs.com/Adaisme/p/7586146.html
Copyright © 2011-2022 走看看