C# 面向对象编程中如何定义类,理解各个关键字的作用

第一:基本类的定义

1 class Person
2     {
3         //我是一个Person类,默认类的修饰符是intenal,只能在当前程序集中访问
4     }

和上面案例一样的类定义如下,二者意思一样

1  internal class Person1
2     {
3         //我是一个Person1类,允许当前程序集中访问,其它项目不能访问
4     }

第二:声明可以在当前程序集中访问也可以在其它项目中访问的类,定义如下

1     public class Person2
2     {
3         //我是一个Person2类,可以在当前程序集中访问,也可以在其它项目中访问
4     }

第三:抽象类的定义

1     abstract class Person3
2     {
3         //我是一个抽象类,默认只能在当前程序集中访问,抽象类不能被实例化,只能被继承
4     }

抽象类的定义第二种方法就是加关键字internal

1   internal abstract class Person3
2     {
3         //我是一个抽象类,只能在当前程序集中访问,抽象类不能被实例化,只能被继承
4     }

抽象类定义的第三种方法是关键字public ,抽象类不能用关键字sealed,因为抽象类只能被继承,密封类只能实例化不能被继承

1  public abstract class Person4
2     {
3         //我是一个抽象类,在当前程序集中访问也可以在其它项目中访问,抽象类不能被实例化,只能被继承
4     }

第四密封类的声明

 1  public sealed class Person5
 2     {
 3         //密封类只能被实例化不能被继承,在任何项目中都可以访问
 4     }
 5     internal sealed class Person6
 6     {
 7         //密封类只能被实例化不能被继承,在当前程序集中可以访问,其它项目不可以访问
 8     }
 9     sealed class Person7
10     {
11         //密封类只能被实例化不能被继承,在当前程序集中可以访问,其它项目不可以访问
12     }
时间: 2024-10-05 22:15:03

C# 面向对象编程中如何定义类,理解各个关键字的作用的相关文章

C++ Primer 学习笔记_65_面向对象编程 --概述、定义基类和派生类

面向对象编程 --概述.定义基类和派生类 引言: 面向对象编程基于的三个基本概念:数据抽象.继承和动态绑定. 在C++中,用类进行数据抽象,用类派生从一个类继承另一个:派生类继承基类的成员.动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义的函数. 继承和动态绑定在两个方面简化了我们的程序:[继承]能够容易地定义与其他类相似但又不相同的新类,[派生]能够更容易地编写忽略这些相似类型之间区别的程序. 面向对象编程:概述 面向对象编程的关键思想是多态性(polymorphism)

C++ Primer 学习笔记_65_面向对象编程 -概述、定义基类跟派生类

面向对象编程 --概述.定义基类和派生类 引言: 面向对象编程基于的三个基本概念:数据抽象.继承和动态绑定. 在C++中,用类进行数据抽象,用类派生从一个类继承另一个:派生类继承基类的成员.动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义的函数. 继承和动态绑定在两个方面简化了我们的程序:[继承]能够容易地定义与其他类相似但又不相同的新类,[派生]能够更容易地编写忽略这些相似类型之间区别的程序. 面向对象编程:概述 面向对象编程的关键思想是多态性(polymorphism)

PHP面向对象编程详解:类和对象

PHP面向对象编程详解:类和对象 从OOP的视角看,不应区分语言.无论是C++.无论是Java.无论是.net还有更多面向对象的语言,只要你了解了OO的真谛,便可以跨越语言,让你的思想轻松的跳跃.便没有对于Java..net.PHP 之间谁强谁弱的争执了. 希望这个介绍PHP5面向对象编程(OOP)的资料能让初学者受益,能让更多的PHPer开始转向OO的编程过程. 相对PHP4,PHP5在面向对象方面改变了很多.我们将只介绍PHP5环境下的面向对象.而我们必须改变自己来跟随PHP5的发展.如果代

python_way.day7 模块(configparser,xml,shutil,subprocess)、面向对象(上)(创建类,类的构成,函数式编程与面向对象编程的选择,类的继承)

python_way.day7 1.模块 configparser,xml,shutil,subprocess 2.面向对象(上) 创建类,类的构成,函数式编程与面向对象编程的选择,类的继承 1.模块 configparser 用于处理特定格式的文件,其本职上使用open来操作,只能是  [test1] 特定的格式 [test1] k1 = 123 k2 = True [test2] k1 = 123 k2 = v1 文件内容 1.获取 import configparser #打开文件找到文件

面向对象编程中的设计模式

面向对象编程中的设计模式 最近在复习(预习)软考,看到了设计模式这个知识点,打算小做总结一下~~ 设计模式分为三种类型,共23种.(红色标注常用的) 创建型模式:单例模式.抽象工厂模式.建造者模式.工厂模式.原型模式. 结构型模式:适配器模式.桥接模式.装饰模式.组合模式.外观模式.享元模式.代理模式. 行为型模式:模版方法模式.命令模式.迭代器模式.观察者模式.中介者模式.备忘录模式.解释器模式(Interpreter模式).状态模式.策略模式.职责链模式(责任链模式).访问者模式.

js面向对象编程:如何定义常量?

js中有一个关键字const,但目前的浏览器似乎还不支持,如果一定要定义一些常量,其实可以使用闭包,匿名函数实现常量的定义. 例如: var Class = (function() { var UPPER_BOUND = 100;//定义了常量 var Test={}; // 定义了一个静态方法 获取常量的方法 Test.getUPPER_BOUND=function() { return UPPER_BOUND; } return Test; })(); 用法: var k=Class.get

串口通讯编程中涉及到的字符串处理关键字及处理字符串对应函数

一   字符串处理关键字总结 作用 关键字 比较两个字符串. StrComp 变换字符串. StrConv 大小写变换. Format, LCase, UCase 建立重复字符的字符串. Space, String 计算字符串长度. Len 设置字符串格式. Format 重排字符串. LSet, RSet 处理字符串. InStr, Left, LTrim, Mid, Right, RTrim, Trim 设置字符串比较规则. Option Compare 运用 ASCII 与 ANSI 值.

C# 面向对象编程的核心技能的理解学习记录

学习的困惑 1. 不知道怎么学习 刚开始学习变成,看了相关的教材,但是没有体会到什么是面向对象编程,也不知道怎么深入学习: 2. 只是盲目的使用 已经工作,也会做一些项目,但是很多时候不明白为什么这么设计. 自己的知识点很多,但是没有系统性,也不知道该往哪个方向发展. 我现在就是处于这个情况,有一些了解,看着别人的项目我也能再写一个但是很多地方很难理解,知识很散乱,真的,很无奈,在这里一开始接触windows就要自己编出一个项目来,没有一点点的C#的基础,以前是做Android的,Android

二维数组 面向对象编程的概念、 类、对象以及引用 和成员方法

1.二维数组(熟悉)1.1 基本概念 一维数组本质上就是一段连续的存储单元,用于存放多个类型相同的数据内容. 二维数组本质上就是由多个一维数组组成的数组,也就是说二维数组中的每个元素都是一维数组,而一维数组的每个元素才是具体数据内容. 1.2 二维数组的声明(1)语法格式 数据类型[][] 数组名称 = new 数据类型[行数][列数];如: int[][] arr = new int[2][5]; - 声明一个具有2行5列元素类型为int的二维数组 其中行下标的范围是:0 ~ 1: 其中列下标