C#面向对象要点

     静态成员可以在类的实例之间共享,可以把它看做是类的全局变量。静态属性和静态字段可以访问独立于任何对象实例的数据,静态方法可以执行与对象类型相关、但与类型实例无关的命令,在使用静态成员时,可以不用实例化对象。

 

     静态类当我们希望类只包含静态成员,且不能用于实例化对象时,一种简单的方法是使用静态类(如Console),而不是把构造函数设置为private。静态类只包含静态成员,不需要实例构造函数,可以有一个静态的构造函数。

 

     接口是把特定的公共方法和属性组合起来,以封装特定功能的一个集合,用于需要接口定义功能的类来实现它。接口不能单独存在,不能实例化接口。接口不能包含其成员的实现代码,只能定义成员。实现过程必须在实现接口的类中实现。

 

     继承C#和Java都是单继承,被继承的类称为基类,派生类不能访问基类的private成员,可以访问public和protected成员。基类的成员可以是虚拟的,在派生类中可以重写它。类可以是密封的(sealed),密封类不能被继承。C#中所有对象有共同的基类object

 

     多态性同样的指令对于不同的对象会有不同的反应,这就是多态。多态性是因为继承产生的,继承导致子类和父类之间有方法和属性之间的重叠,可以使用相同的语法处理从同一基类实例化的对象。派生类实例的对象可以直接赋值给基类对象,不需要进行类型转换,然后基类对象可以调用派生类的成员,但不能调用除子类自己定义的方法。接口也有多态性。

 

    internal修饰的类只能在当前项目的代码中才可以访问它。

 

     abstract修饰的类不能实例化,只能继承。sealed修饰的类只能实例化,不能继承。一个类只能有一个基类,如果继承了抽象类,就必须实现所继承的所有抽象成员(除非派生类也是抽象的)。编译器不允许派生类的可访问性比其基类还高。abstract和sealed关键字不允许在接口中使用。接口没有继承object。

 

     接口和抽象类 都可以被继承,都不能被实例化,但可以申明变量。派生类只能继承一个抽象类,但可以使用多个接口。抽象类可以有抽象成员和非抽象成员(有代码体,也可以是虚拟的,这样可以在派生类中重写)。接口成员都必须在使用接口的类上实现。接口不能包含字段、构造函数、析构函数、静态成员或常量。

时间: 2024-12-23 18:21:55

C#面向对象要点的相关文章

php 面向对象要点汇总

//类和对象//对象:一切东西都可以看做对象,对象是类的实例化.//类:类是对象的抽象,用来描述众多对象共有的特征. //定义类 class//成员变量 和 成员方法//访问修饰符 public共有的 private 私有的 protected 受保护的//面向对象三大特性://1.封装:目的:保护类,做法:成员私有,方法访问.__get() __set()//构造方法:特殊点:1.写法特殊 2.执行时间特殊:可以实现成员的初始化//$this关键字:$this代表该对象 //2.继承:子类可以

Android_Log_2_面向对象要点摘录

1.构造方法: 如果类中不写构造方法,编译器会默认添加构造方法,内部只有一句super(); Class A { public A(){ super() } } 2. this是实例内部的一个特殊引用,保存当前实例的内存地址 方便构造方法之间的相互调用,通常在参数少的构造方法中调用参数多的构造方法 this() 必须是构造方法中的首行代码 public A() { this(0); - } 3. 方法重载 Overload.同名不同参.简化对外接口. public String getPrice

java面向对象 要点

1.面向对象的三大特征:继承.封装.多态. 2.类与对象的关系:类是对象的模板,对象是类的实例,类智能通过对象才可以使用. 3.类是由属性(成员变量)和方法(成员方法)组成的 4.对象产生的格式:类名称 对象名称 = new 类名称 : 5.如果一个对象没有被实例化而直接引用,则使用时回出现空指向异常: 6.类属于引用数据类型,进行引用传递时,传递的是对内存的使用权: 7.类的封装性:通过private 关键字进行修饰,被封装的属性不能被外部直接调用,而只能通过 setter 或getter方法

面向对象要点(构造函数)

每创建一个类的实例都去初始化它的所有变量是乏味的.如果一个对象在被创建时就完成了所有的初始工作,将是简单的和简洁的.因此,Java在类里提供了一个特殊的成员函数,叫做构造函数(Constructor).  一个构造函数是对象被创建时初始对象的成员函数.它具有和它所在的类完全一样的名字.一旦定义好一个构造函数,与new运算符一起使用,创建对象时就会自动调用它.构造函数没有返回类型,即使是void类型也没有.这是因为一个类的构造函数的返回值的类型就是这个类本身.构造函数的任务是初始化一个对象的内部状

javascript的面向对象编程

面象对象编程技术的核心理念:封装.继承.多态:在一些主流的高级编程语言中,比如:C#,VB.NET,JAVA,PHP等都是很容易实现的,而如果要在javascript中实现面象对象编程,可就不那么直接和容易了,因为javascript并不是面向对象的语言,所以我们只能通过javascript的一些特性,比如:闭包.原型链等来模拟出面向对象编程,我认为这些是作为熟练掌握与灵活运用javascript的基础,园子里已有很多的javascript高手对于这方面都有介绍与分析,而我仅以作为一个项目负责人

javascript必知必会:面象对象编程

面象对象编程技术的核心理念:封装.继承.多态:在一些主流的高级编程语言中,比 如:C#,VB.NET,JAVA,PHP等都是很容易实现的,而如果要在javascript中实现面象对象编程,可就不那么直接和容易了,因为 javascript并不是面向对象的语言,所以我们只能通过javascript的一些特性,比如:闭包.原型链等来模拟出面向对象编程,我认为这些是 作为熟练掌握与灵活运用javascript的基础,园子里已有很多的javascript高手对于这方面都有介绍与分析,而我仅以作为一个项目

python简单工厂模式解析

下面考虑<大话设计模式>中的一个例子: 题目:用任意一种面向对象语言实现一个计算器控制台程序.要求输入两个数和运算符号,得到结果. 题目分析: 程序应该做到:(1)可维护:(2)可复用:(3)可扩展:(4)灵活性好.可维护:就是说代码一处更改,不能产生连锁反应,不能影响其他地方.可复用:尽量减少重复性代码.可扩展:如果要扩展新的功能.新的业务,则只需要增加新的类就好了,不对已有的类和逻辑产生影响.插拔式的应用. 面向对象要点:面向对象三大特性:封装.继承.多态.通过封装.继承.多态把程序耦合降

PHP面向对象详解:继承、封装与多态

首先,在解释面向对象之前先解释下什么是面向对象? [面向对象]1.什么是类? 具有相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念2.什么是对象?从类中拿到的具有具体属性值得个体,称为对象,对象是一个具体的个体 所以,面向对象即我们专注对象来处理问题,通过从一个个具有属性和功能的类中拿到对象来处理问题. 下面我们再来细说下面向对象的三大特征:继承/封装/多态 一.继承 在PHP中我们主要通关Extends关键字来实现继承   ->class Student extends P

结构化开发方法和面向对象开发方法的比较

1. 两者基本思想的比较 1.1结构化方法的基本思想 结构化方法是一种传统的软件开发方法,它是由结构化分析.结构化设计和结构化程序设计三部分有机组合而成的.结构化设计方法是以自顶向下,逐步求精,模块化为基点,以模块化,抽象,逐层分解求精,信息隐蔽化局部化和保持模块独立为准则的设计软件的数据架构和模块架构的方法学.它的要点是是把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内. 结构化方法的基本思想主要体现在三个方面. (