2 个稳定版本
1.0.1 | 2023年11月25日 |
---|
#6 in #继承
用于 agera
21KB
413 行代码(不含注释)
OOP继承
为Rust语言提供可子类化的灵活面向对象节点。请参阅API参考以获取详细信息。
lib.rs
:
此crate通过节点提供面向对象继承。
一个节点由一组组件组成,节点可以拥有其他子节点。
定义类
使用class!
调用定义类。
组件
use oop_inheritance::*;
let something = Node::new();
// Set a component
something.set::<f64>(10);
// `Option<Arc<f64>>`
something.get::<f64>();
子节点
something.add_child(&another_thing);
节点路径
由于节点具有层次结构,因此每个具有名称的节点都可以通过使用.resolve_path
方法找到。然而,节点路径中存在一些特殊段无法通过名称解析,这在某些情况下可能很有用。
.first
解析为节点的第一个子节点;.last
解析为节点的最后一个子节点;..
解析为父节点。
let last_sibling: Option<Node> = node.resolve_path("../.last");
依赖关系
~305–760KB
~18K SLoC