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)

相关推荐
apcipot_rain5 小时前
C++转Java日记(06)
java·开发语言
SomeOtherTime12 小时前
Rust所有权(AI回答)
开发语言·后端·rust
Easyhood12 小时前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
白杨尚青13 小时前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
饮水桶_T17 小时前
JAVA IO流笔记
开发语言·数据结构·算法
Felven19 小时前
C. Brr Brrr Patapim
c语言·开发语言
路溪非溪20 小时前
python标准库使用总结
开发语言·python
SomeOtherTime1 天前
Rust 面向对象介绍(AI回答)
开发语言·python·rust
zh_xuan1 天前
kotlin常见面试题
开发语言·kotlin·面试题
草莓熊Lotso1 天前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试