当前位置: 首页 > news >正文

面向对象 封装 、继承

构造函数:

构造函数 - 创建一个类的函数

每一个类都有构造函数,访问修饰符必须是public的,并且不需要写任何返回值,方法名与类名一致

自己写的类 - 用户自定义类型
如果要使用自定义类型产生出来的  对象  必须有一个实例化的过程

实例化格式:
类型名  ss = new 构造函数();

访问修饰符 -  4个

public - 公共的,任何地方都可以访问,但是需要引用 命名空间

private - 私有的,类的内部才可以访问

internal - 内部的,默认的,程序集中可以访问,程序集就是命名空间

protected - 被保护的,类的内部和类的父类和子类中可以访问

封装:

private 数据类型 _名字;   --成员变量

public 默认一致 名字      --属性

{  

  get{ return _名字; }  

  set{ _名字 = value; }

}

可以单独只放get或者set

封装可以保护数据的安全性

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 面向对象封装
{

class xuesheng
{
public xuesheng()
{

}
private string _code;//成员变量
/// <summary>
/// 学生学号
/// </summary>
public string code//属性
{
get { return _code; }//属性取值
set { _code = value; }//属性赋值
}

private bool _xingbie;
/// <summary>
/// 学生性别
/// </summary>
public string xingbie
{
set
{
if (value == "男")
_xingbie = true;
else if (value == "女")
_xingbie = false;
else
_xingbie =true;
}
}
public string xingbie1
{
get
{
return _xingbie?"男":"女";
}
}


private string _age;
/// <summary>
/// 学生年龄
/// </summary>
public string age
{
get { return _age; }
set
{
if (int.Parse(value) > 16)
_age = "成年人";
else if (int.Parse(value) < 16)
_age = "未成年";
}
}

 

}
}

类中不仅可以有成员变量和属性,还可以有成员方法

方法又分为,普通方法    静态方法

普通方法使用: 需要实例化对象,用对象点出来

静态方法使用:  直接用类名点出来,不需要实例化对象,只需在访问修饰符后面加上static

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace aaaaa
{
    public class jisuan
    {
        /// <summary>
        /// 计算两个数的加法,返回和
        /// </summary>
        /// <param name="a">要计算的第一个数</param>
        /// <param name="b">要计算的第二个数</param>
        /// <returns></returns>
        public int jiafa(int a, int b) //成员方法
        {
            return a + b;
        }
 
        public static int jianfa(int a, int b)
        {
            return a - b; 
        }
    }
}

继承:

继承语法:  类名 : 父类名(在类名后面直接写冒号与想要继承的父类名)

子类也叫做xxx的派生类,超类

父类也叫做基类

一个父类可以有无数个子类

一个子类可以有1个父类

子类并不是可以继承父类中所有的东西,而是可以继承父类中允许子类继承的内容,这个允许条件是依靠访问修饰符来做的权限

fly.cs中:

复制代码
namespace 继承
{
    public class Fly
    {
        public string Fling()
        {
            return "我会飞行!!!";
        }


    }
}
复制代码

plane.cs中:

namespace 继承
{
    public class Plane : Fly
    {
    }
}

bird.cs中:

namespace 继承
{
    public class Bird : Fly
    {
    }
}

program.cs中:

复制代码
namespace 继承
{
    class Program
    {
        static void Main(string[] args)
        {
            Plane pl = new Plane();
            Console.WriteLine(pl.Fling());
            Bird b = new Bird();
            Console.WriteLine(b.Fling());

            Console.ReadKey();
        }
    }
}
复制代码

 

转载于:https://www.cnblogs.com/1030351096zzz/p/6105328.html

相关文章:

  • [学习笔记]背包问题(一)
  • SQL 基础语法(一)
  • HTTP慢速DOS(slow http denial of service attack)
  • PAT甲题题解-1104. Sum of Number Segments (20)-(水题)
  • Java 8 Lambda表达式,让你的代码更简洁
  • 使用scrapy创建工程
  • 文件属性
  • 插入排序
  • python核心编程第六章练习--6.5.d
  • python 迭代器和生成器
  • java---构造器
  • PAT甲题题解-1096. Consecutive Factors(20)-(枚举)
  • 汇编、c语言、c++的一些想法。
  • cocos2dx-lua_修改源码流程(cocos2dx-3.10、win7、Cocos Code IDE1.2)
  • HTML5全屏(Fullscreen)API详细介绍
  • 11111111
  • Material Design
  • Mysql5.6主从复制
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Python学习笔记 字符串拼接
  • ReactNativeweexDeviceOne对比
  • 编写高质量JavaScript代码之并发
  • 从零开始学习部署
  • 今年的LC3大会没了?
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 如何解决微信端直接跳WAP端
  • 使用 QuickBI 搭建酷炫可视化分析
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 我感觉这是史上最牛的防sql注入方法类
  • 移动端解决方案学习记录
  • ​低代码平台的核心价值与优势
  • #1014 : Trie树
  • #include到底该写在哪
  • #QT(TCP网络编程-服务端)
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (BFS)hdoj2377-Bus Pass
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (C)一些题4
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (三) diretfbrc详解
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)visual stdio 书签功能介绍
  • (转)负载均衡,回话保持,cookie
  • **python多态
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .Net Core和.Net Standard直观理解
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .NET 动态调用WebService + WSE + UsernameToken
  • .Net语言中的StringBuilder:入门到精通
  • .skip() 和 .only() 的使用
  • @Mapper作用
  • [2024] 十大免费电脑数据恢复软件——轻松恢复电脑上已删除文件