面向对象——封装和继承

一、封装

目的保护类,让类更加安全。

做法:让类里面的成员变量变为私有(即访问修饰符)的,做相应的方法或者属性去间接的操作成员变量

※访问修饰符

private 私有的              只能在该类中访问

protected 受保护的       只能在该类和它的子类中访问

public 公有的                在任何地方都可以访问

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

构造方法(函数):

作用:造对象所要调用的方法,用来创建对象

      每一个类都有一个构造方法,不写也有只不过看不到而已

特殊性:写法特殊 (方法名=类名;没有返回值)

      执行时间特殊(创建对象时执行)

用途:可以对成员进行初始化

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

public 默认一致 名字 --属性
{
  get{ return _名字; }
  set{ _名字 = value; }
}

属性可有多个,可以只放get或set

例:

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

namespace 封装
{
    class Program
    {
        static void Main(string[] args)
        {
            student s = new student();
            s.age = 25;
            s.name = "张三";
            Console.WriteLine(s.age+" "+s.name);
            Console.ReadLine();
        }
    }
}

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

namespace 封装
{
    class student
    {
        public student()
        {

        }
        /// <summary>
        /// 学号
        /// </summary>
        private string _code;

        public string code//属性
        {
            get { return _code; }
            set { _code = value; }
        }
        /// <summary>
        /// 姓名
        /// </summary>
        private string _name;

        public string name
        {
            get { return _name; }
            set { _name = value; }
        }
        /// <summary>
        /// 性别
        /// </summary>
        private string _sex;

        public string sex
        {
            set
            {
                if (value == "男")
                { _sex = "男"; }
                else if (value == "女")
                { _sex = "女"; }
                else
                { _sex = "错误"; }
            }
            get { return _sex; }

        }
        /// <summary>
        /// 年龄
        /// </summary>
        private int _age;

        public int age
        {
            set
            {
                if (value >= 18 && value <= 150)
                {
                    _age = value;
                }
                else
                {
                    _age = 0;
                }
            }
            get { return _age; }
        }
    }
}

二、继承

子类可以继承父类的一切

特点:单继承   一个子类只能有一个父类  一个父类可以有多个子类

C#特殊点:所有类的祖先都是object

base关键字:在子类中代表父类对象,用法和this关键字相同       

如果父类有构造方法,那么子类也要有构造方法,如果父类构造需要参数,那么子类构造也必须有相应的参数。       

子类构造后面可以通过base调用父类的构造方法       

public China(string m):base(m) {}

时间: 2024-11-03 05:43:25

面向对象——封装和继承的相关文章

面向对象 封装 、继承

构造函数: 构造函数 - 创建一个类的函数 每一个类都有构造函数,访问修饰符必须是public的,并且不需要写任何返回值,方法名与类名一致 自己写的类 - 用户自定义类型如果要使用自定义类型产生出来的  对象  必须有一个实例化的过程 实例化格式:类型名  ss = new 构造函数(); 访问修饰符 -  4个 public - 公共的,任何地方都可以访问,但是需要引用 命名空间 private - 私有的,类的内部才可以访问 internal - 内部的,默认的,程序集中可以访问,程序集就是

PHP的面向对象 — 封装、继承、多态

K在上一次的基础篇中给大家介绍了一下关于PHP中数组和字符串的使用方法等,这一次,K决定一次性大放送,给大家分享一下PHP中面向对象的三大特性:封装.继承.多态三个方面的知识. 一.封装 在PHP中,封装可以用三个子来概括:私有化.具体来说,是通过访问修饰符,将类中不需要外部访问的属性和方法进行私有化处理,来实现访问控制. 那么封装的作用是什么?封装的作用主要有两点,一是方法封装,即将使用者关注的功能暴露,而隐藏其他使用者用不到的功能:二是属性封装,即对用户的数据进行控制,防止不合法的数据传输设

C#中面向对象——封装,继承,多态

摘要:提到面向对象就不得不说面向对象的三大特性,封装:继承:多态!下面还是通过图和例子的方式继续了解一下面向对象的三个核心! 下面还是通过具体的图进行分析: 通过代码来感受一下语法: class Program { static void Main(string[] args) { Fu f1 = new Fu(); f1.GetFu(); //父类就只能获取到父类的属性方法,是不能获取到子类的方法的 zi z1 = new zi(); z1.GetZi(); //子类既可以获取到子类的方法属性

面向对象封装与继承

面向对象: (1)面向过程 强调过程,执行者:它是一种更符合人们思考习惯的思想: (2)面向对象 强调对象,指挥者:它使复杂的内容简单化: (3)面向对象思想的特点:它使我们从执行者变成了指挥: 面向对象方法的主要优点是:符合人们通常的思维方式:从分析到设计再到编码采用一致的模型表示,具有高度连续性:软件重用性好. 面向对象的写法: 初始化对象 面向对象的特点: 封装:继承:多态 封装,有参构造方法. 无参构造方法 类和对象: 对于同一类事物可以抽取它们的共性的内容,定义在类中.如生活中的汽车,

面向对象封装、继承、多态

一.面向对象封装 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对象,然后 让对象调用方法 对象方法的细节 都被 封装 在 类的内部 02. 小明跑步案例 需求: 小明 体重 50公斤 小明每次 跑步 会减肥 1公斤 小明每次 吃东西 体重增加 0.5 公斤 class Person(object): def __init__(self, name, weight): self.name = na

面向对象 封装、继承

一.封装 目的:保护类,让类更加安全.做法:让类里面的成员变量变为私有(即访问修饰符)的,做相应的方法或者属性去间接的操作成员变量 ※访问修饰符private 私有的              只能在该类中访问protected 受保护的       只能在该类和它的子类中访问public 公有的                在任何地方都可以访问 封装成员方法来间接操作类里面的成员变量 例: class Ren { private string name; private int age; /

PHP面向对象 ——封装和继承

面向对象的特征 1 封装 2 继承 3 多态 封装 封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节 优点:信息隐蔽,封装即隐藏. 封装的原则在软件上的反映是:要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的"交叉感染",使软件错误能够局部化,大大减少查错和排错的难度. 类的封装性带来的优点:隐藏类的实现细节,让使用者只能通过事先定义好的方法来访问数据,可以方便的加入逻辑控制,进行数据检查,限制对属性的不合理操作.便于

面向对象(封装、继承、多态、抽象)

封装--封装主要是基于类的属性,本类中的属性私有化,即有private修饰词来加以修饰,生成GET,SET方法来给外界调用. 继承--java继承是面向对象的最显著的一个特征.继承是从已有的来中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力. 多态--java的多态是指对非静态方法的多态,父类的引用来调用子类的方法. 抽象--使用关键词abstrace声明的类叫做"抽象类".如果一个类里包含了一个或多个抽象方法,这个类就指定为抽象类."抽象方法"

面向对象---&gt;封装和继承

封装封装指在实际实现时,将复杂的内部结构隐藏起来,并为这组复杂的结构取一个统一的名称进行使用.在现实世界中,大量的存在封装的例子,例如电脑的硬盘,将多组复杂的线路和存储信息的磁片封装起来,并将该组结构取名为硬盘,以后就可以使用硬盘来代表该结构,而不需要更多的了解内部的信息.在面向对象技术中,类是典型的封装性的体现,类将一组属性和功能组合成一个统一的结构,并使用类名来代表该结构.封装性的最大优势在于隐藏每个类的内部实现(内部结构),从而既方便项目的分解也降低了项目的难度.例如以设计汽车为例,我们可

Javascript面向对象(封装、继承)

Javascript 面向对象编程(一):封装 作者:阮一峰 Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类). 那么,如果我们要把"属性"(property)和"方法"(method),封装成一个对象,甚至要从原型对象生成一个实例对象,我们应该怎么做呢? 一. 生成实例对象的原始模式 假定我们把猫看成一个对象,它有"名