c# 类的知识
在英语中类(class)是分类(classification)的根词。设计类的过程就是对信息进行分类,将相关信息放到有意义的实体中。
封装的目的:
封装就是定义类的重要原则。中心思想是:使用类的程序不应该关心类内部如何工作。程序值需要创建类的实例并调用类中的方法。类为了执行其存在的方法,可能要维护各种内部状态信息,还需要在类中各种活动,在使用类的程序面前,这些额外的状态信息和行动是隐藏的,所以有时候称之为信息隐藏。
1、将方法和数据合并到类中,也就是为了支持分类。
2、控制对方法和数据的访问,也是就为了控制类的作用。
定义并使用类:
c#中使用class关键字定义新类。类的数据和方法放在类的主体中。
首先新建一个类。类中的代码如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//using System.Text.RegularExpressions; namespace tesetData
{
class Class1
{
//申请一个变量用来存储 圆半径
int radius=;
public double Area()
{
//Math类包含用于执行数学计算的方法,还定义了一些数学常亮Math.PI包含字段3.14159265358979 圆周率
//
// 摘要:
// 为三角函数、对数函数和其他通用数学函数提供常数和静态方法。
//若要浏览此类型的.NET Framework 源代码,请参阅 Reference Source。
return Math.PI * radius * radius; }
}
}
主函数部分:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace tesetData
{
class Program
{ static void Main(string[] args)
{
Class1 Test = new Class1();//实例化class1这个类
Console.WriteLine (Test.Area());
Console.ReadLine();
}
}
}
提示:方法中声明的变量不会自动初始化,但是类中的字段是会自动初始化的。类的字段会自动初始化为1,false,null,具体的初始化是更具类型而定,原则上是手动的初始化变量。
c#命名和可访问性
公共标识符以大写字母开头,因为他是公共的,这是所谓Pascalcase命名方法,
非公共标识符,包括局部变量以小写字母开头,因为他是私有的,就是camelCase命名法
注意:不要声明名称只有大小写不同的两个公共成员,口则在不区分大小写的语言中就没有办法使用。
上面这个例子创建了一个class1这个类。在这个类中申请了一个int型数据并赋值为2,然后调用Math.PI这个圆周率的近似值,double型的数据。时间圆面积的计算。
在上面这个例子有一个问题就是不能访问radius这个变量,从而不能再在类的外部修改这个变量的参数。解决方法使用构造器
构造器:是在创建类的实例中自动运行的方法,他与类同名,能获取参数,但是不能返回任何值,每个类至少要有一个构造器,如果不提供构造函数,系统会自动创建一个控的构造函数。
即每一个类需要一个同名的构造函数。c#默认的构造器是么有参数的构造器,至于由编译器产生还是自己写都不重要,还可以写一系列非默认的构造器,有参数构造器。
上面这个例子是使用构造函数,来设置radius参数。当然也可以编写几个入口参数,这就是重载构造器。
分部类:
类可以包含大量的方法、字段、构造器。一个功能齐全的类相当大。c#允许将类的源代码分到单独的文件中。这样,大型的定义就可以用较小的。更加容易管理的部分进行组织。
类被拆分到多个文件中之后,要在每个文件中使用partial分部关键字定义类不同的分部。这里演示的是在一个文件中分部类,当然也可以是两个文件来写。
c# 类的知识的更多相关文章
- 【转载】UML类图知识整理
原文:UML类图知识整理 UML类图 UML,进阶必备专业技能,看不懂UML就会看不懂那些优秀的资料. 这里简单整理 类之间的关系 泛化关系(generalization) 泛化(generalize ...
- 在VC6.0下运行C语言程序,以及编程入门必备的常识类小知识!
今天给大家分享在VC6.0环境下编写C语言程序的基本步骤,为初学者打开学习C语言的第一道门.具体步骤如下(如果需要软件资源,可以留言): 1)新建工作区 依次点击 文件--新建--工作区 或是Ctrl ...
- 【C++】类-基础知识
类-基础知识 目录 类-基础知识 1. 语法定义 2. 类的实现 3. 三个基本的函数 3.1 构造函数 功能 形式 调用时机 默认构造函数 3.2 复制构造函数 功能 形式 调用时机 3.3 析构函 ...
- String 类相关知识
1.常用方法 1)判断字符串是否为空 public boolean isEmpty()2)获取字符串长度 public int length()3)截取子子串 public String substr ...
- Java _类 相关知识
成员变量 java对象的属性就是成员变量,其实成员变量就是指普通的变量,可以设置初始值,也可以不设置.当不设置时,会被设置为默认值.(当成员变量前面有private关键词时,说明定义了一个私有成员) ...
- Python类基础知识(面向对象基础)
#首先 我们需要了解 面向过程是什么 面向对象是什么 我们为什么需要使用面向对象 面向过程:根据业务逻辑从上到下写垒代码 面向对象:根据代码对函数进行分类和封装 区别:解决问题的逻辑不同,但是都能解决 ...
- C++ 学习笔记(五)类的知识小结一(重载,友元函数,静态成员,new)
---恢复内容开始--- 学习C++类知识点还是挺多的,每个知识点学习的时候都觉得这个知识点咋那么多东西,其实真学完了再回头看好像也就那么点.这次用程序写一个黑猫揍白猫的故事总结一下这段时间学习的零碎 ...
- php类相关知识----类常量,静态变量
类常量 <?php class myuser { ;//定义的常量不带$符号,常量之前没有访问修饰符,常量之前没有修饰符号 public function monolog() { echo &q ...
- Java String类相关知识梳理(含字符串常量池(String Pool)知识)
目录 1. String类是什么 1.1 定义 1.2 类结构 1.3 所在的包 2. String类的底层数据结构 3. 关于 intern() 方法(重点) 3.1 作用 3.2 字符串常量池(S ...
随机推荐
- Linux下Redis的安装与启动
一. 进入目录(我们准备将redis装入opt文件夹) $ cd /opt/ 二.下载redis压缩包 $ wget http://download.redis.io/releases/redis-4 ...
- python操作rabbitMQ小结
1.安装rabbitMQ(与python无关) https://www.cnblogs.com/libra0920/p/7920698.html 2.python+rabbitMQ实现生产者和消费者模 ...
- java多线程和.net多线程区别与联系
在网上搜了好多,没有搜到这方面的内容,自己浅薄写点吧. 1..net和java的主线程和子线程,原理是类似的 (1).当子线程是前台线程时,主线程结束,子线程并未结束(还将继续运行,即进程未结束) ( ...
- 帝国cms面包屑导航的首页链接锚文本改成关键字
帝国cms面包屑导航的首页链接关键字一般都是“首页”二字或home,如果你想从这里提高锚文字的相关性,可以改成相应的关键字,那么如何来修改呢? 我们知道帝国CMS面包屑导航的变量是[!--newsna ...
- file相关方法
File文件,getAbsolutePath方法 public String getAbsolutePath() 该方法的作用是获得当前文件或文件夹的绝对路径.例如c:\test\1.t则返回c:\t ...
- [django]django model的查询和更新
再分享Django系列的另外几篇文章: Django model select的各种用法详解:https://mp.weixin.qq.com/s/JVh4UnS2Tql9gUVaBSoGuA Dja ...
- [py]字符串转换为列表
字符串转换为列表 "[1,2,3]" ==> [1,2,3]
- (转)Ctrl+H 浪潮Raid配置文档
说明 本手册适用于LSI芯片Raid卡 包括但不限于Inspur 2008/2108 Raid卡.LSI 9240/9260/9261/9271 等Raid卡. 不同型号的Raid卡在某些功能上的支持 ...
- Python重要网址
极客学院视频:http://www.jikexueyuan.com/path/python/ 知乎爬虫:https://www.zhihu.com/collection/129856874?page= ...
- Tf中的NCE-loss实现学习【转载】
转自:http://www.jianshu.com/p/fab82fa53e16 1.tf中的nce_loss的API def nce_loss(weights, biases, inputs, la ...