面向对象(一)封装 命名空间 访问修饰符等

一、封装

封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部借口,以特定的访问权限来使用类的成员。

public class 类名
{
  //成员变量
  private 数据类型 _属性名;
  //属性
  public 数据类型  属性名;
  {
    get{return _属性名;}
    set{_属性名 = value;}
  }
  public 数据类型  属性名2;
  {
    get{return _属性名 + "字符串";}
  }
  //成员方法
  public 函数名(变量1,变量2)
  {
    函数体
  }
}

这就是一个典型的封装,包括三部分:成员变量,属性,成员方法。

成员变量是类的基本属性。

属性是对成员变量的保护,对成员变量的属性值设置与修改进行过滤。

一个成员变量可以有多个属性。多个属性可以对成员变量的属性值进行不同类的输出和设置。只设置get是只读属性。

成员方法是一种函数,

可以对类内的数据进行处理,并返回值。

二、访问修饰符

访问修饰符是对类,属性,方法的公开等级进行分类的等级制度。

1、public  -  公开的, 访问不受限制。

2、private  -  私有的,访问仅限于包含该成员的类。

3、internal  -  默认的,访问仅限于当前程序集。什么都不写就是默认的。

4、protected  -  被保护的。

三、命名空间(namespace) /程序集

命名空间是对各种代码的一种管理方式,用于组织和重用代码。

由于词汇量的限制,数据和函数的命名会出现不可避免的重复,命名空间则对此做出了限制:只有在命名空间内,该名称唯一,这样就防止了冲突。

using关键词,用于表明程序使用的是给定命名空间中的名称。

比如using System;表明使用了System命名空间,这个空间定义了Console,那么就可以直接调用Console。

自定义命名空间时,如果在文件夹内创建,命名空间名字会变成 “文件夹名.文件名”。这个名字可以随意修改,去掉文件夹名也可以。

在调用命名空间时,和当前命名空间处于同一文件夹下时可以直接调用,如果不在,比如在同一文件夹下的另一个文件夹里,那么可以用 “   using 命名空间名字; ”调用。

四、静态类

public static class math
{
  public static decimal sum(decimal a,decimal b)
        {
                return a+b;
        }
}

static  -  静态的,将类定义为一个静态类,里面的数据一般都是静态的,也可以包含普通数据和方法,但一般建立静态类时只用静态数据和方法。

普通类不可包含静态数据和方法。

静态类不需要实例化,可以通过 类名.属性 直接 引用。

五、构造函数

构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。

构造函数在类中是默认隐藏的,也可以写出来。

public class 类名
{
   //构造函数
   public 类名()
   {
       //设置默认值
      _属性名 = 默认属性值;
   }
  //成员变量
  private 数据类型 _属性名;
  //属性
  public 数据类型  属性名;
  {
    get{return _属性名;}
    set{_属性名 = value;}
  }
  //成员方法
  public 函数名(变量1,变量2)
  {
    函数体
  }
}

构造函数的名字必须和类名一样。

实例化就是引用构造函数的过程。

可以在构造函数内给属性设定默认值。

时间: 2024-10-24 01:36:38

面向对象(一)封装 命名空间 访问修饰符等的相关文章

二、Java面向对象(7)_封装思想——访问修饰符

2018-04-30 访问修饰符 <访问权限范围越小,安全性越高> public:表示全局的,可以在当前项目中任何地方访问 如果几个相互访问的public类分布在不用的包中,则需要导入相应public类所在的包.由于类的继承性,类所有的公有方法和变量都能被其子类继承. Java程序的main() 方法必须设置成公有的,否则,Java解释器将不能运行该类. protected:能被同一个包中的任何其他类访问,也能够被不同包中的子类访问. (protected访问修饰符不能修饰类和接口,方法和成员

C# 封装的访问修饰符

封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中".在面向对象程序设计方法论中,封装是为了防止对实现细节的访问. 抽象和封装是面向对象程序设计的相关特性.抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象. C# 封装根据具体的需要,设置使用者的访问权限,并通过 访问修饰符 来实现. 一个 访问修饰符 定义了一个类成员的范围和可见性.C# 支持的访问修饰符如下所示: Public:所有对象都可以访问: Private:对象本身在对象内部可以访问: Protected

【2017-04-14】命名空间、访问修饰符、封装、继承、多态

一.命名空间 namespace 命名空间名称 如果命名空间一致,才能在他下面访问那些不同的类,如果不一致是没有办法直接访问的. 不同命名空间下都是public访问修饰符,想要调用,得在using处引用命名空间 using .... 是引用的命名空间 二.访问修饰符(写在命名任何东西的最前面) public    公共的,访问权限最高 private    私有的,访问权限最低,只能在类的内部进行访问 protected   被保护的,当前类及他的派生类中进行访问 internal    默认的

面向对象的过程、继承、封装、多态;抽象类、访问修饰符的使用、引用类型强制转换、方法重写@override与重载、空指针异常、super关键字

面向对象设计的过程:     发现类-发现类的属性-发现类的方法-优化设计: 封装: private类型的,只可以在本类中使用,当其他类调用此类时,不可使用,因此可以设置setget方法,如下所示: 构造------------------------ 默认有无参构造,若设置了有参构造,则就没有默认的无参构造了,需要自己再添加一个 方法重载------------------- 方法名相同,参数列表不同(类型,数量,顺序不同,与参数名无关): 与返回值,访问修饰符无关 面向对象(OO)的优点--

面向对象3大特性:封装、继承、多态——封装(this 、访问修饰符、内部类)

封装的概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问.而是通过该类提供的方法来实现对隐藏信息的操作和访问 封装的好处: a.只能通过规定的方法访问数据 b.隐藏类的细节,方便修改和实现 封装的实现步骤: 1.修改属性的可见性--设为private 2.创建getter/setter方法--用于属性的读写 3.在getter/setter方法中进入属性控制语句--对属性值的合法性进行判断 public class TelPhone { //定义成员变量 private float sc

【2017-4-14】访问修饰符 封装 继承 多态

1.命名空间/程序集 2.访问修饰符public 公共的 - 访问权限是最高的private 私有的 - 只能在类的内部进行访问 internal 默认的 - 当前命名空间(程序集)下可以访问protected 被保护的 - 当前类及它的派生类中可以访问 3.封装private 数据类型 _名称; //成员变量,字段public 数据类型 名称 //属性{ get{ return _名称; } set{ _名称 = value; }} 还可以有方法 //成员方法 4.继承: 子类:父类一个子类只

访问修饰符、封装、继承

一.访问修饰符:1.pubulc:公共的,只要引用了命名空间,就可以随意进行访问     *常用 2.private:私有的,只有当前类内部才可以访问        *常用 3.internal:内部的,当前程序集内可以访问,程序集就是命名空间,此修饰符是默认的 4.protected:被保护的,当前类和它的子类才可以访问 二.命名空间: 也叫程序集,项目中每一个文件夹都是一个独立的命名空间 如果要使用某一个命名空间下的类文件,那么必须首先引用此命名空间 三.封装 打包,封起来,保护起来 pub

访问修饰符,封装,继承

一.封装: 封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类).被封装的对象通常被称为抽象数据类型. 封装的意义: 封装的意义在于保护或者防止代码(数据)被我们无意中破坏.在面向对象程序设计中数据被看作是一个中心的元素并且和使用它的函数结合的很密切,从而保护它不被其它的函数意外的修改. 封装提供了一个有效的途径来保护数据不被意外的破坏.相比我们将数据(用域来实现)在程序中定义为公用的(public)我们将它们(fields)定义为私有的(privat)

.Net学习 第3季 C#面向对象 访问修饰符

.Net 视频学习第3季 C#面向对象 面向对象 访问修饰符 C#五种访问修饰符 1)可以修饰类的访问修饰符只有两个:public,internal(默认) internal:只可以在当前程序集(先理解为项目)中访问 public:公共的 项目A访问项目B中的public类,首先要在项目A的引用中添加项目B,然后再项目A的文件中添加using 项目B该类的命名空间. 在同一个程序集当中,public和internal的访问权限一样. 2)修饰类的成员的访问修饰符:public,private,p