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 ...
随机推荐
- 【SQL】where 后不可以接聚合函数,都哪些是聚合函数?
where 后不可以接聚合函数,比如函数:SUM(count),AVG(count),MIN(count),MAX(count)
- mysql分页优化方法
mysql分页优化方法 今天遇到开发反应分页语句很慢,马上看一下到底是啥的分页语句 原分页语句 SELECT * FROM `tt` LIMIT , 执行这个语句需要6秒+时间 执行计划为全表扫描 在 ...
- python用%来处理字符串
%s 可以字符串拼接 msg='i am %s my hobby is %s' % ('lhf','alex') print(msg) 执行结果: i am lhf my hobby is alex ...
- vue 验证码倒计时
//html <div class="input-div" v-show="formData.phone"> <input type=&quo ...
- Java中输出正则表达式匹配到的内容
import java.util.regex.Matcher; import java.util.regex.Pattern; public class A { public static void ...
- 使用Pyinstaller打包python py文件注意事项
首先需要将cmd或者PowerShell目录cd 跳转到py脚本所在目录,然后直接执行 Pyinstaller -F即可完成程序的打包,其中我们关心它有哪些常见参数: 输入参数的含义 -F 表示生成单 ...
- Oracle 11g快速收集全库统计信息
环境:Oracle 11.2.0.4 采用并行的方式,快速收集全库统计信息,多用于跨版本升级之后,对全库的统计信息重新进行快速收集: --开启计时 set timing on --设置并行收集 exe ...
- G 面经 && Leetcode: Longest Repeating Character Replacement
Given a string that consists of only uppercase English letters, you can replace any letter in the st ...
- Hadoop.之.入门部署
一.课程目标 ->大数据是什么?大数据能做什么? ->什么是Hadoop?Hadoop的设计思想? ->Hadoop如何解决大数据的问题?(什么是hdfs与yarn.MapReduc ...
- jQuery绑定事件方法及区别(bind,click,on,live,one)
第一种方式: ? 1 2 3 4 5 $(document).ready(function(){ $("#clickme").click(function(){ alert(& ...