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)

相关推荐
2kπ16 分钟前
QT开发笔记
开发语言·笔记·qt
青 春 记 忆20 分钟前
零基础入门Python15|关联、聚合、索引与事务:订单数据库
开发语言·python·后端开发
江屿风33 分钟前
【STM32基础篇】【嵌入式生态问题及历史追溯】流食般投喂
大数据·开发语言·人工智能·笔记·stm32·嵌入式硬件
charlie1145141911 小时前
深探std::vector:三指针、扩容与迭代器失效
开发语言·c++·开源项目
asyxchenchong8881 小时前
R语言混合效应(多水平/层次/嵌套)模型及贝叶斯实现技术应用
开发语言·r语言
熊猫钓鱼>_>1 小时前
从“串数据“焦虑到 Space 自由,我用 Agent Bucket 智能体桶管游戏素材
开发语言·人工智能·游戏·agent·bucket·workbuddy·space
heimeiyingwang2 小时前
【架构实战】Kubernetes网络模型深度解析:从Pod通信到Ingress网关实战
开发语言·架构·php
luj_17683 小时前
变频技术核心原理揭秘
服务器·c语言·开发语言·经验分享·算法
松小白song3 小时前
嵌入式通信协议全解:UART、RS232、RS485、I²C、SPI 与 CAN 的本质区别与选型指南
c语言·开发语言