c#封装成员变量和成员方法和访问修饰符

1 成员变量

声明在类语句块中用来描述对象的特征,可以是任意变量类型

数量不做限制,是否赋值根据需求来决定。

如果在类中声明一个和自己相同类型的成员变量时,不能对他进行实例化。

public Person gridFriend = null;//不能== new Person();,不能实例化,会内存溢出

复制代码
enum E_Sex
{
    Man,
    Woman,
}
struct Position
{
    int x;
    int y;
}
class Pet
{
}
class Person
{
    public string name;
    public E_Sex sex;  
    public Person gridFriend = null;
    public Person[] boyFriend;
    Pet pet=new Pet();
}

2 成员方法

声明在类语句块中描述对象的行为的规则和函数。

声明规则相同 ,受到访问修饰符规则影响 返回值参数不做限制 方法数量不做限制

注意

成员方法不加static

成员方法 必须实例化出对象 ,再通过对象来使用

成员方法受到访问修饰符影响

成员方法 必须实例化出对象 再通过对象来使用 相当于该对象执行了某个行为

复制代码
class Person
{
    public void Speak(string str)
    {
        Console.WriteLine("{0}说{1}",name,str);
    }
}
Person p = new Person();
p.name = "fei";
p.Speak("love you");

3访问修饰符

public 全都能

private 仅限定义它的类内部访问,默认成员访问级别。

protected 定义类及其派生类可访问,适合继承体系。

4 默认值

值类型来说,数字类型都是0 bool类型是false char类型null

引用类型 都是null 打印出来看不到

得到默认值的方法 例 default(int)

相关推荐
孙启超3 分钟前
【AI开发之Rust】第 1 课:认识 Rust 与开发环境 —— 装好工具链,跑通第一个程序
开发语言·人工智能·后端·ai·rust·安全架构
君顾18 分钟前
家政派单小程序源码开发实战:从零搭建到上线全流程指南
java·开发语言·家政派单
1314lay_10071 小时前
C#调用Sql Server存储过程,有返回值的
数据库·sqlserver·c#
我是唐青枫1 小时前
C#.NET PInvoke 深入解析:封送、内存布局与原生互操作实战
开发语言·c#·.net
程序猿编码1 小时前
纯C++轻量计算机视觉推理引擎:基于GGML的端侧CV模型部署技术全解析
开发语言·c++·计算机视觉·大模型·transformer
Am-Chestnuts1 小时前
AI 生成的数学公式,怎么用 DS随心转 导出成 Word 里能改的公式
人工智能·c#·word
SEO_juper2 小时前
外贸多语言站最隐蔽的流量杀手:hreflang 错了,谷歌把德语页推给美国人(附审计脚本)
开发语言·前端·python·seo·独立站·谷歌优化
geovindu2 小时前
CSharp: Strategy Pattern
开发语言·后端·c#·.net·.netcore·策略模式·行为模式
古少侠2 小时前
AI 内容粘到 Word 就乱?用 DS随心转 把复制的内容直接变成排版好的一段
人工智能·c#·word
Tairitsu_H2 小时前
[C++] C++11新增构造:列表初始化和std::initializer_list
开发语言·c++·c++11·构造